3

2つのテーブルがあります。Aは行(row_id、column1、...)で、Bは行(column2、...)です。

Select * from A
   join B on A.column1 = B.column2

表Bには、column2=A.column1のレコードが1つ以上存在する可能性があります。BのすべてのレコードにAの一致するレコードがありますが、AのすべてのレコードにBのレコードがあるわけではありません。

row_idテーブルBに100を超えるレコードが関連付けられているテーブルAを取得するための効率的なクエリとは何ですか?

4

2 に答える 2

3

これにより、テーブルAのすべての列が得られます。

select A.*
from A
inner join (
    select column2
    from B
    group by column2
    having count(*) > 100
) BC on A.column1 = BC.column2

IDだけが必要な場合は、次のように実行できます。

select column2
from B
group by column2
having count(*) > 100
于 2012-06-27T14:55:46.500 に答える
3
SELECT `row_id`
FROM `A`
JOIN `B` ON (`B`.`column2` = `A`.`column1`)
GROUP BY `A`.`row_id`
HAVING COUNT(*) > 100
于 2012-06-27T14:56:03.147 に答える