0

結果と結果の数を同時に取得したいクエリがあります。結果のフィルタリングは複雑なので、この他の質問のようにサブクエリ トリックを単純に使用することはできません。私の最終的な目標は、結果数に基づいて結果をフィルタリングすることです。

例:

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|
( id2 の結果はフィルター処理されます)

group byすべての結果を取得したいので使用できません。複雑なフィルタリングを 2 回実行することになるため、サブクエリは使用できません。

単一のクエリでこれを実行する方法がわかりません。

4

2 に答える 2