作者smallsafe (朋友都消失了)
看板Database
标题[SQL ] 险是最新一笔资料问题
时间Thu Oct 17 22:39:24 2013
database:
id num date mark
-- ----- -------- ------------
1 a0001 9/1 订单内容1
1 a0002 9/15 订单内容2
2 a0003 9/17 订单内容3
1 a0004 9/21 订单内容4
3 a0005 9/24 订单内容5
2 a0006 9/24 订单内容6
1 a0007 10/1 订单内容7
我想要每个id 都列出data最新的一笔资料,列出结果如下
id num date mark
-- ----- -------- ------------
1 a0007 10/1 订单内容7
2 a0006 9/24 订单内容6
3 a0005 9/24 订单内容5
我写法是
select * from 订单
where date = (select max(date) from 订单)
group by id, num, mark
但显示出来却不是我想要的,请问该怎麽写才能列出以上的格式呢?
PS:我是用mySQL,不能用top指定的样子
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.159.1
1F:推 TeemingVoid:select * from 订单 o 10/18 09:13
2F:→ TeemingVoid:where date = (select max(date) 10/18 09:13
3F:→ TeemingVoid:from 订单 where date = o.date) 10/18 09:14
4F:→ knstt:WITH a AS (SELECT *,max(date) OVER (PARTITION BY id) n 10/24 16:27
5F:→ knstt:FROM 订单) SELECT * FROM a WHERE date=n 10/24 16:28