2012-03-26 74 views
0

我需要你的幫助。我有DateTime和Person列的表。每個人每個日期都有多個記錄。我需要爲每個人的每個日期記錄第一個記錄。我想應該使用嵌套組,但是我不知道如何實現它。 在此先感謝SQL嵌套分組依據,第一行

+0

它是您的日期時間中每個「日期」的每個人的第一個記錄,還是每個人每個日期時間條目的多個記錄? – cairnz 2012-03-26 07:27:39

回答

3

您可以用OVER clause一起使用ROW_NUMBER

SELECT * 
FROM 
(
    SELECT  Your_Columns, 
       ROW_NUMBER() OVER (PARTITION BY Person, [DateTime] ORDER BY Your_Column_That_Decides_The_Order_Of_Records) AS R 
    FROM   Your_Table 
) v 
WHERE v.R = 1 
+0

偉大的解決方案,謝謝:) – 2012-12-27 05:32:07

0

您可以使用min(日期/時間)列和其餘列在group by。