获取一定数量的多个值的记录

问题描述 投票:0回答:1

我有这样一张桌子:

_id,  name,  type
1     A_0    a
2     A_1    a
3     A_2    a
4     A_3    a
5     B_0    b
6     B_1    b
7     B_2    b
8     B_3    b

我想得到一个搜索结果,我得到每种类型的2行。

更新:

我的结果应该是这样的:(会有更多的类型)

_id,  name,  type
1     A_0    a
2     A_1    a
5     B_0    b
6     B_1    b

有没有人碰巧有解决方案呢?

sqlite limit-per-group
1个回答
0
投票

对于每个类型,获取由_id排序的2行,然后在外部查询中使用这些ID拉取行:

SELECT * FROM TheTable AS X WHERE _id IN 
(
      SELECT Y._id FROM TheTable AS Y
      WHERE X.type = Y.type
      ORDER BY Y._id ASC
      LIMIT 2
) ORDER BY _id;
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.