MySQL query for last rows that have a specific field
本问题已经有最佳答案,请猛点这里访问。
我有一张这张桌子:
1 2 3 4 5 6 7 8 9 10 | posts id | msg | topicId 1 | Hello World| 1 2 | Whats up? | 2 3 | lorem ipsum| 1 4 | new Topic | 3 5 | Dolor sit | 1 6 | some text | 3 7 | response | 2 8 | asdf | 3 |
我希望为每个
1 2 3 4 5 | result id | msg | topicId 5 | Dolor sit | 1 7 | response | 2 8 | asdf | 3 |
我的问题是我不知道如何查询我想要的结果。
我正在使用symfony 2.3和doctrine,所以如果你可以使用doctrine查询构建器代码来获得很棒的答案:)
有没有想过有效地做到这一点?
1 2 3 4 | SELECT m1.* FROM YourTable T1 LEFT JOIN YourTable T2 ON (T1.id= T2.id AND T1.TopicId < T2.TopicId) WHERE T2.id IS NULL; |
这是一种方法
1 2 3 4 5 6 7 8 9 10 11 12 |
在这里演示