2012-01-20 24 views
2

考慮下表:T-SQL集團跳過並採取

tables

從表中如何跳過並採取羣體?嘗試使用Row_Number(),但它沒有幫助。有任何想法嗎?

使用的查詢

;WITH cte AS (SELECT Room.Id, Room.RoomName, 
       ROW_NUMBER() OVER 
       (ORDER BY Room.Id) AS RN 
     FROM Room INNER JOIN 
       RoomDetails ON Room.Id = RoomDetails.RoomId) 
SELECT Id, RoomName 
FROM cte 
WHERE RN = 1 
+0

「嘗試(),但它不會幫助「 - 建議你發佈你的嘗試。 –

+0

@MitchWheat:添加我的嘗試代碼 – Karthik

回答

4

您需要使用分區作爲DENSE_RANK函數

dense_rank() over (partition by roomid) as row

的一部分,在這裏看到更多的例子使用ROW_NUMBER Windowing functions

+0

謝謝,幫助! – Karthik