Table 1 :
ID City State
1 NewYork NY
2 Oklahama OK
3 california CA
4 new jersey NJ
5 Las Vegas LA
Table 2 :
ID City
1 NewYork
2 NewYork
3 NewYork
4 Oklahama
5 Oklahama
表 2 中纽约是 3 倍,俄克拉荷马州是 2 倍。 所以我想从表 1 中获取城市列表,其中城市在表 2 中使用次数少于 5 次
那么Mysql中的精确查询是什么呢?
我正在使用以下代码:
select *
from Table1
where Table1.city in
(select Table2 .city,count(*)
from Table2
having count(*) < 5
group by Table2.city )
最佳答案
您可以将 in 子句与子选择结合使用
select * from table1
where city in (select city from table2 having count(*) < 5 group by city)
在您的代码中,Table2 和 .city 之间有一个空格
select *
from Table1 where Table1.city in (select
Table2 .city,count(*) from Table2 having count(*) < 5 group by Table2.city )
必须
select *
from Table1
where Table1.city in (select Table2.city
from Table2
group by Table2.city
having count(*) < 5 )
表名和列之间没有空格..
关于mysql - 从表 2 中的表 1 列计数中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38041777/