关于MYSQL分组查询问题,
只查询同一个表table 以表中字段sid进行group by 分组
然后获取每个分组中的前三条数据
得出以下代码
SELECT a.* FROM table
a GROUP BY a.sid
union all
SELECT a.* FROM table
a WHERE a.id
NOT IN (SELECT GROUP_CONCAT(b.id
) FROM table
b GROUP BY b.sid
) GROUP BY a.sid
union all
SELECT a.* FROM table
a WHERE a.id
NOT IN (
SELECT GROUP_CONCAT(b.id
) FROM table
b WHERE b.id
NOT IN (
SELECT GROUP_CONCAT(c.id
) FROM table
c GROUP BY c.sid
) GROUP BY b.sid
) GROUP BY a.sid
ORDER BY sid
ASC
但MYSQL运行不起来这种套娃的代码。。
请问有什么其他最优解法吗?