如果我有如下所示的MySQL表:

id  |   cat_id  |   name    |   date
------------------------------------
1   |   1       |   suzy    |   2011-09-15
2   |   2       |   andy    |   2011-10-01
3   |   1       |   dony    |   2010-12-25
4   |   3       |   harry   |   2010-01-05
5   |   2       |   matty   |   2011-06-01
6   |   3       |   samy    |   2010-11-02
7   |   1       |   honey   |   2011-10-03


如何选择是否需要类似以下结果的结果:

cat_id  | id |
-------------
1   | 7  |
2   | 2  |
3   | 6  |

最佳答案

SELECT cat_id, id
  FROM mytable t
 WHERE NOT EXISTS (
        SELECT *
          FROM mytable
         WHERE cat_id = t.cat_id
           AND date > t.date
       )

关于mysql - 从表格的每个类别中选择最新的一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7660068/

10-14 00:09