例如,我有下表:
id group data 1 1 aaa 2 1 aaa 3 2 aaa 4 2 aaa 5 2 aaa 6 3 aaa 7 3 aaa 8 3 aaa
通过“ SELECT”命令选择每个组的前两个记录的最佳方法是什么?如果没有好的方法,您建议使用什么例程?(在PHP中)
(模型结果)
1 1 aaa 2 1 aaa 3 2 aaa 4 2 aaa 6 3 aaa 7 3 aaa
我知道在子查询中通过a.id> = b.id进行交叉联接是可行的,但是我正在寻找一种可扩展性更高的解决方案,该解决方案可以应用于具有数百万条记录的表。谢谢
select a.* from Tablename a where ( select count(*) from Tablename as b where a.group = b.group and a.id >= b.id ) <= 2