我有一个要同时获取结果和结果计数的查询。结果的过滤很复杂,所以我不能像其他问题那样简单地使用子查询技巧。我的最终目标是根据结果计数过滤结果。
例子:
SELECT id, related_info, count(related_info)
FROM my_table
WHERE <complex filtering on related_info here>;
结果应如下所示:
id | related_info | count(related_info)|
1 | info1| 3|
1 | info2| 3|
1 | info3| 3|
2 | info1| 2|
2 | info2| 2|
我的最终目标是根据计数过滤结果,例如:
SELECT id, related_info, count(related_info)
FROM my_table
WHERE <complex filtering on related_info here> having count(related_info) >=3;`
结果应如下所示:
id | related_info | count(related_info)|
1 | info1| 3|
1 | info2| 3|
1 | info3| 3|
(id
过滤 2 的结果)
我不能使用group by
,因为我想得到所有的结果。我不能使用子查询,因为这意味着要执行两次复杂的过滤。
我看不到任何方法可以通过单个查询来执行此操作。