我有一个像下面结合多个单查询的WHERE以限制2每
name | cat
----------------------------------------
ala | games
alaa | software
aha | games
asd | games
aad | software
aas | software
asd | books
aad | software
aas | books
所以我有三个查询像下面
SELECT * FROM `table` WHERE MATCH(`name`) AGAINST ('a*' IN BOOLEAN MODE) AND cat='games' LIMIT 2
SELECT * FROM `table` WHERE MATCH(`name`) AGAINST ('a*' IN BOOLEAN MODE) AND cat='software' LIMIT 2
SELECT * FROM `table` WHERE MATCH(`name`) AGAINST ('a*' IN BOOLEAN MODE) AND cat='books' LIMIT 2
所以我想获得第一2 result from each category
(游戏,电子书列,软件)...现在我使用这三个查询..如何将它们合并为一个查询..
Ps这仅仅是例子..我工作到多达10类..我想要的东西不要浪费多少资源
你有主键吗?以及你如何决定哪一个是第一个价值?此外,为什么你需要全文搜索?如果每组需要2条记录,则可以采用更好的方法。 – 2014-12-02 14:40:28
是的,我有主键..这仅仅是例子..我有超过百万条记录,我使用全文.. – 2014-12-02 14:51:38
我已经创建了一个示例,以获得每组顶部n http://sqlfiddle.com/# !2/81395/16,我不确定是否可以在那里执行全文搜索。 – 2014-12-02 15:24:09