【发布时间】:2012-02-17 14:39:14
【问题描述】:
我有一个 mysql 数据库,里面有 1 个表。 该表包含“id”、“Name”、“Type”。
我想从每种类型中获取 10 行。例如:
(在这个例子中我只想要 1 个)
0 - test1 - a
1 - test2 - a
2 - test3 - b
比这还需要选择:
0 - test1 - a
2 - test3 - b
如何在 1 个 SQL 查询中做到这一点?还是说不可能?
【问题讨论】:
-
据我记得你总是需要两个查询。
-
我不认为这是重复的——那里赞成的解决方案提到了窗口函数(它用于 SQL Server)——而 MySQL 不支持这些。
-
这个答案适用于 MySQL(以及大多数 DBMS):How to SELECT the newest four items per category?
-
还有一种不同的方法,特定于 MySQL,在 @Quassnoi 的博客中:Advanced row sampling
标签: php mysql sql apache limit