回答

收藏

用“居于选择”命令选择每个组的前两个记录的最佳方法是什么?

技术问答 技术问答 217 人阅读 | 0 人回复 | 2023-09-14

例如,我有下表:
" `4 \7 Q% x7 D# ~8 _2 k" C  p0 Nid group data1 1 aaa2 1 aaa3 2 aaa4 2 aaa5 2 aaa6 3 aaa7 3 aaa8 3 aaa通过“ SELECT选择每组前两个记录的最佳方法是什么?如果没有好的方法,建议使用什么例程?PHP中); ~0 A0 D  ^3 \+ v
(模型结果)
1 O5 U$ s  o& `1 1 aaa2 1 aaa3 2 aaa4 2 aaa6 3 aaa7 3 aaa我知道在子查询中通过a.id> = b.id交叉连接是可行的,但我正在寻找一种可扩展性更高的解决方案,可以应用于记录数百万的表格。非常感谢。
- z1 h$ Y- Z9 m( F4 D9 Y6 u                                                                : X% N; L! W, L4 ^, L' S# o
    解决方案:                                                               
" `. j! }( o8 w7 i5 p+ U0 \$ _. U6 [                                                                select a.*from Tablename awhere (   select count(*)    from Tablename as b   where a.group = b.group and a.id >= b.id) </u>
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则