【发布时间】:2021-06-08 10:51:03
【问题描述】:
我有以下 SQLITE 表:
| COL1 | COL2 | COL3 |
|---|---|---|
| tit1 | cat1 | time1 |
| tit2 | cat3 | time2 |
| tit3 | cat1 | time3 |
| tit4 | cat1 | time4 |
| tit5 | cat3 | time5 |
| tit6 | cat2 | time6 |
| tit7 | cat1 | time7 |
我想选择按 COL2、WHERE COL2 == cat1 或 cat2 分组的所有行,但将结果限制为每个组最多 2 行,并按 COL3 DESC 对结果进行排序。
因此,例如,在这种情况下,我只想得到:
| COL1 | COL2 | COL3 |
|---|---|---|
| tit7 | cat1 | time7 |
| tit4 | cat1 | time4 |
| tit6 | cat2 | time6 |
是否有可能通过(可能)一个或最多 2 个查询来获得此信息?
到目前为止,我尝试了这个,但它没有按预期工作:
SELECT * FROM "tablename" WHERE "COL2" = "cat1" OR "COL2" = "cat2" GROUP BY "COL2" ORDER BY "COL3" DESC LIMIT 2
感谢您的帮助
【问题讨论】: