2012-12-12 105 views
1

我有一個表:SELECT MAX(數據)

id cod_pr  Date  nr 
------------------------------- 
1  22  12.10.2012  2 
2  25  12.10.2012  3 
3  22  12.11.2012  5 
4  25  12.11.2012  2 
5  22  12.12.2012  4 
6  23  12.10.2012  3 

如何侃只選擇每個cod_pr最大日期?

回答

1

如果你想所有列,您可以在CTE使用ROW_NUMBER

WITH CTE AS 
(
    SELECT id,cod_pr,Date,nr, 
     ROW_NUMBER() OVER (PARTITION BY cod_pr ORDER BY Date DESC) AS RN 
    FROM dbo.Table 
) 
SELECT id,cod_pr,Date,nr, FROM CTE WHERE RN = 1 

否則,你可以簡單地使用GROUP BY

SELECT cod_pr, MAX(Date) AS MaxDate 
FROM dbo.Table 
GROUP BY cod_pr 
2
select cod_pr,MAX(Date) from Table 
group by cod_pr