我有一表﹕
date code value
2006/07/01 abc 123
2006/07/02 bcd 12
2006/07/04 abc 56
2006/07/06 abc 78
2006/07/09 bcd 465
. . .
. . .
. . .
現在我要取得每個code最大的那個date的那條記錄﹐也就是要得到以下結果
date code value
2006/07/06 abc 78
2006/07/09 bcd 456要求不用游標﹗
date code value
2006/07/01 abc 123
2006/07/02 bcd 12
2006/07/04 abc 56
2006/07/06 abc 78
2006/07/09 bcd 465
. . .
. . .
. . .
現在我要取得每個code最大的那個date的那條記錄﹐也就是要得到以下結果
date code value
2006/07/06 abc 78
2006/07/09 bcd 456要求不用游標﹗
FROM a
INNER JOIN
(SELECT MAX(date) mDate,code FROM tb GROUP BY code) b
ON a.code=b.code AND a.date=b.mDate如果同code的最大date值有相同的,就另当别论,楼主需要给出条件,如何再选取.
Where Not Exists (Select *From TableName Where code=A.code And [date]>A.[date])
FROM tb a
INNER JOIN
(SELECT MAX(date) mDate,code FROM tb GROUP BY code) b
ON a.code=b.code AND a.date=b.mDate上面手误.假设 你的表名为 tb
Select * From TableName A
Where [date]=(Select Max([date]) From TableName Where code=A.code)
SELECT * FROM tb a
WHERE 1>(SELECT COUNT(1) FROM tb b WHERE b.code=a.code AND b.date>a.date)
呵呵.
^^