尽可能简单地说,我有以下表结构:
日期 |类型 |标题
假设 Type
是 1-10 范围内的一个值,我在表中有 1,000 条记录,我想要最近 5 条唯一类型的记录。所以结果会是这样的:
Date | Type | Title
2009-06-04 14:32:00 | 4 | Zeppo
2009-06-04 14:31:00 | 2 | Groucho
2009-06-04 14:30:00 | 8 | Harpo
2009-06-04 14:29:00 | 5 | Gummo
2009-06-04 14:28:00 | 3 | Chico
似乎我想要 DISTINCT
只应用于 Type
列,或者我想要一个 GROUP BY
将应用 在 ORDER BY
子句之后。
全部在 MySQL 4 中。
最佳答案
我错过了什么吗?简单的解决方案似乎是:
SELECT MAX(date) AS max_date, type, title
FROM table
GROUP BY
type
ORDER BY
max_date DESC
LIMIT 5
而且它应该非常快。
关于sql - MySQL:如何获取不同类型的 n 个最新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950628/