SORU
7 HAZİRAN 2009, Pazar


Nasıl ROW_NUMBER kullanırım()?

ROW_NUMBER() almak için kullanmak istiyorum

  1. Almak için* -- ^ *6 . Ya bu da tüm satır sayısı olacak sanırım

Yapmaya çalıştım:

SELECT max(ROW_NUMBER() OVER(ORDER BY UserId)) FROM Users

ama işe gelmedi...

  1. ROW_NUMBER() bilgi belirli bir parça kullanarak, ıe. eğer bir adı varsa adını ve nereden geldiğini bilmek istiyorum.

Bir şeyler #1 için çalıştım ne benzer olurdu herhalde

SELECT ROW_NUMBER() OVER(ORDER BY UserId) From Users WHERE UserName='Joe'

ama bu da işe yaramadı...

Herhangi Bir Fikir?

CEVAP
7 HAZİRAN 2009, Pazar


İlk soru için, neden sadece kullanmak mı?

SELECT COUNT(*) FROM myTable

sayısı elde etmek.

Ve ikinci soru için, satırın birincil anahtar belirli bir satırı tanımlamak için kullanılır. Ve bu satır sayısı için bir deneyin kullanmayın.

< / ^ hr .

Eğer Row_Number döndürdü() ana sorguda

SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User

Sonra 5 satır geri gitmek istediğinizde, geçerli satır numarasını alıp aşağıdaki sorguyu currentrow -5 satır belirlemek için kullanabilirsiniz

SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
     FROM User ) us 
WHERE Row = CurrentRow - 5

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • newport83

    newport83

    19 HAZİRAN 2006