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 秒。
我尝试了不同的子查询,但都需要“无限”时间,超过几分钟;我实际上从来没有让他们完成。