我的数据如下所示:
id |类别|插入日期|标题...。 -------------------------------- 1 | 1 | 123 |测试1 2 | 1 | 124 |测试2 3 | 1 | 125 |测试3 4 | 2 | 102 |测试4 5 | 2 | 103 |测试5 6 | 2 | 104 |测试6
我要完成的工作是按类别获取最新的2个条目(按insertdate DESC的顺序排列),因此结果应为:
id | .... ---- 3 |...。 2 | .... 6 |...。 5 | ....
使用获取最新消息group by很容易,但是如何在不启动多个查询的情况下获取最新2?
group by
感谢您的帮助;-) S.
在这里,你哥们!
SET @counter = 0; SET @category = ''; SELECT * FROM ( SELECT @counter := IF(data.category = @category, @counter+1, 0) AS counter, @category := data.category, data.* FROM ( SELECT * FROM test ORDER BY category, date DESC ) data ) data HAVING counter < 2