读书人

*查询的小小疑点*

发布时间: 2012-03-09 16:54:57 作者: rapoo

******查询的小小问题*****

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
)

读书人网 >SQL Server

热点推荐