SORU
9 HAZİRAN 2009, Salı


SQL Server 10..20 SINIRI

Gibi bir şey yapmaya çalışıyorum :

SELECT * FROM table LIMIT 10,20

ya

SELECT * FROM table LIMIT 10 OFFSET 10

ama SQL Server kullanarak

solution I found tek overkill gibi görünüyor:

SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases 
 ) a WHERE row > 5 and row <= 10

Ben de 12**:

SELECT TOP 10 * FROM stuff; 

... ama başlangıç sınırı belirtmek istemiyorum beri yapmak istediğim bir şey değil.

Bana bunu yapmak için başka bir yol var mı ?

Ayrıca, sadece merak, SQL Server desteği yok bir neden var LIMIT işlevi veya benzer bir şey? Ama bu gerçekten bir VERİTABANI gereken bir şey gibi geliyor kulağa kaba olmak istemiyorum ... Eğer bunu yaparsa, o zaman bu kadar cahil olduğum için özür dilerim! Son 5 yıldır MySQL ve SQL ile çalışıyorum

CEVAP
11 ŞUBAT 2012, CUMARTESİ


SQL 2012 you can use Server.

SELECT  *
FROM     sys.databases
ORDER BY name 
OFFSET  5 ROWS 
FETCH NEXT 5 ROWS ONLY 

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • jonathepianist

    jonathepiani

    31 Temmuz 2008