我有两个表(用户表和城市表)
User Table:
Column: Userid, username, package, cityid
City Table:
Column: CityID, Cityname etc
我想显示每个城市的总用户数。两个表中都有一对多的关系。城市表可以有多个用户。
预期输出
Cityname Number of users
London 1000
Newyork 2000
California 2500
答案 0 :(得分:0)
使用JOIN
。
<强>查询强>
select t2.[cityName] as [City],
count(t1.[cityId]) as [Total Number of users]
from [User] t1
join [city] t2
on t1.[cityId] = t2.[cityId];
答案 1 :(得分:0)
您需要同时加入两个表,以便能够同时访问两者中的数据。
SELECT t2.cityName
,count(t1.cityId) AS Users_from_city
FROM [User] t1
INNER JOIN city t2 ON t1.cityId = t2.cityId
GROUP BY t2.cityName
然后,通过使用聚合函数COUNT()
,您可以确定每个城市的用户数。
答案 2 :(得分:0)
如果您希望城市中的所有用户都为1:
,请尝试此操作 select city.city_id,user.*
from city,user
where user.city_id=city.city_id
and city.city_id=1;
检查并根据您的要求进行修改。