【发布时间】:2009-05-14 18:13:50
【问题描述】:
我对 mysql 还很陌生,需要一个我无法弄清楚的查询。给定这样的表:
emp cat date amt cum
44 e1 2009-01-01 1 1
44 e2 2009-01-02 2 2
44 e1 2009-01-03 3 4
44 e1 2009-01-07 5 9
44 e7 2009-01-04 5 5
44 e2 2009-01-04 3 5
44 e7 2009-01-05 1 6
55 e7 2009-01-02 2 2
55 e1 2009-01-05 4 4
55 e7 2009-01-03 4 6
我需要为每个“emp”和“cat”选择最新的交易日期。上表会产生如下内容:
emp cat date amt cum
44 e1 2009-01-07 5 9
44 e2 2009-01-04 3 5
44 e7 2009-01-05 1 6
55 e1 2009-01-05 4 4
55 e7 2009-01-03 4 6
我尝试过类似的方法:
select * from orders where emp=44 and category='e1' order by date desc limit 1;
select * from orders where emp=44 and category='e2' order by date desc limit 1;
....
但这感觉不对。谁能指出我正确的方向?
【问题讨论】:
-
此表是否有主键(单个或组合)?