1

誰かがこのクエリで手を貸してくれませんか? LIMIT や TOP でだまされてきましたが、私は軌道に乗っていないと思います。テーブルからすべてのフィールドを返したいのですが、新しいテーブルには最大 3 つの重複 ID があります。

テーブル

id    first    last    
===================
1    John    Doe    
1    John    Doe   
1    John    Doe   
1    John    Doe   
2    Mary    Green  
2    Mary    Green  
3    Stacy   Kirk  
3    Stacy   Kirk  
3    Stacy   Kirk  
3    Stacy   Kirk  
3    Stacy   Kirk  

希望する結果 (最大 3 つの ID)

id    first    last  
====================
1    John     Doe  
1    John     Doe  
1    John     Doe  
2    Mary     Green  
2    Mary     Green  
3    Stacy    Kirk  
3    Stacy    Kirk  
3    Stacy    Kirk  

ありがとう!

4

1 に答える 1

3

あなたが言ったのでTOP、これはのためですSQL SERVER

SELECT id, first, last
FROM
  (
  SELECT id, first, last,
        ROW_NUMBER() OVER (PARTITION BY ID ORDER BY LAST) rn
  FROM TABLE1
  ) s
WHERE s.rn <= 3
于 2012-11-16T14:13:16.297 に答える