Sim*_*dri 3 sql sql-server sql-server-2005 sql-server-2008
我有如下数据
ID Stat Date
1 1 2009-06-01
2 1 2009-06-20
3 1 2009-06-10
4 2 2009-06-10
Run Code Online (Sandbox Code Playgroud)
O/P 是这样的..
ID Stat CDate
2 1 2009-06-20
4 2 2009-06-10
Run Code Online (Sandbox Code Playgroud)
我已尝试使用以下查询但未成功,请提出建议。
Select Distinct stat,MAX(Cdate) dt,id From testtable
Group By stat,id
Run Code Online (Sandbox Code Playgroud)
得到了解决方案..
Select f1.id,f1.stat,f1.cdate From testtableas F1 Join(Select stat,MAX(cdate) as dt from testtable group by stat) as F2 On f2.stat=F1.stat and f2.dt=f1.cdate
SELECT t1.id, t1.stat, t1.date
FROM testtable t1
JOIN (SELECT stat, MAX(date) date FROM testtable GROUP BY stat) t2 ON t1.stat = t2.stat AND t1.date = t2.date
GROUP BY stat
Run Code Online (Sandbox Code Playgroud)