Table kal
id integer primary key
init char 4 indexed
job char4
id init job
--+----+------
1 | aa | job1
2 | aa | job2
3 | bb | job1
4 | cc | job3
5 | cc | job5
initに複数の行があるすべての行を表示したい:
id init job
--+----+------
1 | aa | job1
2 | aa | job2
4 | cc | job3
5 | cc | job5
私は試した:
select * from kal where init in (select init from kal group by init having
count(init)>2);
実際、テーブルには60000行あり、クエリは
count(init)<40,
しかし、それは膨大な時間がかかり、phpmyadminと私の忍耐力が尽きます。
両方
select init from kal group by init having count(init)>2)
と
select * from kal where init in ('aa','bb','cc')
0.02秒未満の「時間なし」で実行されます。
さまざまなサブクエリを試しましたが、すべて「無限」の時間、数分以上かかります。私は実際にそれらを終わらせたことがありません。