Mysql 从表中选择2条最新记录
我有如下mysql表中的数据:Mysql 从表中选择2条最新记录,mysql,sql,select,Mysql,Sql,Select,我有如下mysql表中的数据: id customer_id date price 1 A 2014-01-01 4 2 A 2014-02-01 3 3 B 2014-03-01 2.5 4 B 2014-04-01 1 5 B 2014-05-01 5 6 C 2014-06-01
id customer_id date price
1 A 2014-01-01 4
2 A 2014-02-01 3
3 B 2014-03-01 2.5
4 B 2014-04-01 1
5 B 2014-05-01 5
6 C 2014-06-01 2
7 D 2014-07-01 2
8 D 2014-08-01 2.5
9 D 2014-09-01 1
我想获得客户id A、B和D的最新两个日期。我的结果如下:
id customer_id date price
1 A 2014-01-01 4
2 A 2014-02-01 3
4 B 2014-04-01 1
5 B 2014-05-01 5
8 D 2014-08-01 2.5
9 D 2014-09-01 1
非常感谢您的帮助。像这样试试
select * from table where customer_id in('A','B','D') order by date desc limit 2
一种可能的方式:
SELECT *
FROM test s
WHERE (
SELECT COUNT(*)
FROM test f
WHERE f.customer_id = s.customer_id AND
f.`date` >= s.`date`
) <= 2
AND customer_id in('A','B','D');
[]非常感谢您!!我刚刚更新了问题,有点不同。你介意再看一次吗?不介意。最新的更新显示了一个完全不同的问题,不同的问题应该出现在新问题中