我有某种不可能的要求:)。
我有一个表,其中的列之一名为type
。我想为该列中的每种类型选择3条记录。那可能吗?
另请注意,我正在使用MySQL和Sphinx。
更新:
表结构
id title type
1 AAAA string1
2 CCCC string2
3 EEEE string2
4 DDDD string2
5 FFFF string2
6 BBBB string2
6 BBBB string2
我想要我的MySQL返回的是(按标题排序的每种类型最多3条记录):
id title type
1 AAAA string1
6 BBBB string2
2 CCCC string2
4 DDDD string2
最佳答案
select id, title, type
from (select id, title, type,
@num := if(@group = type, @num + 1, 1) as row_number,
@group := type as dummy
from your_table
order by type, title) as x
where row_number <= 3
(与a different article在同一站点上使用Martin Wickman's answer!)
关于SQL-仅针对每种类型给我3个匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4775820/