当前位置: 代码迷 >> Sql Server >> *查询的小小疑点*
  详细解决方案

*查询的小小疑点*

热度:76   发布时间:2016-04-27 20:50:31.0
******查询的小小问题*****

id               日期                     公司          
1         2006-12-25                   A        
2         2006-2-5                       A
3         2007-2-9                       A
4         2004-9-6                       B
5         2006-12-8                     B
6         2007-9-8                       C
7         2007-2-1                       A
每个公司选择出日期最大的一条记录,其余的舍弃
结果是
id               日期                     公司          
3         2007-2-9                       A
5         2006-12-8                     B
6         2007-9-8                       C
谢谢拉!!!!!
马上揭贴


------解决方案--------------------
select * from t a where not exists
(
select 1 from t where 公司=a.公司 and 日期> a.日期
)
------解决方案--------------------
select * from t a where not exists
(
select 1 from t where 公司=a.公司 and 日期> a.日期
)

------解决方案--------------------
--上面的语句不能防止当两个日期相同且都最大,只显示最后一条记录,所以稍改如下:
select * from t a where not exists
(
select 1 from t where 公司=a.公司 and 日期> =a.日期 and id> a.id
)
  相关解决方案