SORU
16 NİSAN 2009, PERŞEMBE


Nasıl N satır T-SQL sıralanmış tablodan satır M başlayarak almak için

Herhangi bir tablodan ilk N satırları almak için basit bir yolu var:

SELECT TOP 10 * FROM MyTable ORDER BY MyColumn

Etkili bir şekilde M satır satır N başlayarak sorgulamak için var

Örneğin,

Id Value
1    a
2    b
3    c
4    d
5    e
6    f

Ve böyle sorgu

SELECT [3,2] * FROM MyTable ORDER BY MyColumn /* hypothetical syntax */

sorgular 3d 2 satır satır başlayarak, ben.e 3d ve 4. satır döndürülür.

CEVAP
16 NİSAN 2009, PERŞEMBE


En zarif olanı ROW_NUMBER fonksiyonu (MS SQL Server 2005'ten kullanılabilir) kullanmak için sanırım

WITH NumberedMyTable AS
(
    SELECT
        Id,
        Value,
        ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber
    FROM
        MyTable
)
SELECT
    Id,
    Value
FROM
    NumberedMyTable
WHERE
    RowNumber BETWEEN @From AND @To

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • K-391

    K-391

    23 EKİM 2012
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005