求一个SQL查询语句

BuleRiver 2013-05-27 09:03:16
大家好,我有这样一个需求,需要写一个SQL语句来进行查询:
有一张表,表列分别是:ID、TRANSACTION_ID、NAME、DATETIME,分别代表一行的ID、交易ID,交易人名称和交易日期。对于同一个人,可能存在多笔交易,每一笔交易的TRANSACTION_ID都是不同的,时间(DATETIME)也不同。
我现在的需求是:对于查询出每一个人最新的(时间最近)那笔交易。该如何编写该SQL呢?请大家不吝赐教。多谢。
...全文
155 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-05-27
  • 打赏
  • 举报
回复
SELECT *
FROM TB a
WHERE EXISTS(SELECT 1 FROM (SELECT id,TRANSACTION_ID,MAX([datetime])[datetime] FROM TB GROUP BY id,TRANSACTION_ID)b 
WHERE a.id=b.id AND a.[datetime]=b.[datetime] AND a.TRANSACTION_ID=b.TRANSACTION_ID)
BuleRiver 2013-05-27
  • 打赏
  • 举报
回复
要求只返回每一行的TRANSACTION_ID
哥眼神纯洁不 2013-05-27
  • 打赏
  • 举报
回复
select * from 表 a where not exitst (select 1 from 表 where name=a.name and datetime<a.datetime)
usbusb2007 2013-05-27
  • 打赏
  • 举报
回复
select TRANSACTION_ID from jiaoyi a where not exists (select 1 from jiaoyi where name=a.name and DATETIME>a.DATETIME) 这个行了
BuleRiver 2013-05-27
  • 打赏
  • 举报
回复
引用 4 楼 usbusb2007 的回复:
select max(TRANSACTION_ID) from a group by name
这个不行,因为每个交易,可能会做修改。
usbusb2007 2013-05-27
  • 打赏
  • 举报
回复
select max(TRANSACTION_ID) from a group by name

27,581

社区成员

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

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