求一句SQL语句

benjamin8064 2005-03-21 10:10:51
ID ID1 Date
1 1 2005-2-1
2 2 2005-2-2
3 1 2005-2-3
4 2 2005-2-4
5 1 2005-2-2
6 2 2005-2-3

表结构如上,我想求得ID1相同的最大日期的的ID号
...全文
68 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanshufan 2005-03-21
  • 打赏
  • 举报
回复
select id
from 表 a
where not exists(select top 1 from 表 where id1=a.id1 and date>a.date)
benjamin8064 2005-03-21
  • 打赏
  • 举报
回复
谢谢,搞定
jinjazz 2005-03-21
  • 打赏
  • 举报
回复
你把上面的所有语句copy的sql2000中运行
benjamin8064 2005-03-21
  • 打赏
  • 举报
回复
To jinjazz(近身剪(N-P攻略)) :
你的语句有错误
列 'test.Date' 在 HAVING 子句中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
jinjazz 2005-03-21
  • 打赏
  • 举报
回复

--建立测试环境
Create Table 表(ID varchar(10),ID1 varchar(10),Date varchar(10))
--插入数据
insert into 表
select '1','1','2005-2-1' union
select '2','2','2005-2-2' union
select '3','1','2005-2-3' union
select '4','2','2005-2-4' union
select '5','1','2005-2-2' union
select '6','2','2005-2-3'
select * from 表
--测试语句
select* from 表 a where exists(select id1,max(date) as maxdate from 表 group by id1
having id1=a.id1 and max(date)=a.date)
--删除测试环境
Drop Table 表
chenyaoguo23 2005-03-21
  • 打赏
  • 举报
回复
子查询,先查出ID1相同的ID,再查最大的ID,这样最好理解
xluzhong 2005-03-21
  • 打赏
  • 举报
回复
select id
from tablename a
where not exists(select 1 from tablename where id1=a.id1 and date>a.date)
jinjazz 2005-03-21
  • 打赏
  • 举报
回复
select id1,max(date) as maxdate from 表 group by id1

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧