0

我有一张这样的桌子:

_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

有没有人碰巧对此有解决方案?

4

1 回答 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;
于 2018-02-28T17:55:20.270 回答