Mysql 从表中选择2条最新记录

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

我有如下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      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');

[]非常感谢您!!我刚刚更新了问题,有点不同。你介意再看一次吗?不介意。最新的更新显示了一个完全不同的问题,不同的问题应该出现在新问题中