如何使用SQL查询获取每个城市的用户总数

时间:2015-08-06 08:36:05

标签: sql sql-server

我有两个表(用户表和城市表)

User Table:
Column: Userid, username, package, cityid

City Table:
Column: CityID, Cityname etc

我想显示每个城市的总用户数。两个表中都有一对多的关系。城市表可以有多个用户。

预期输出

Cityname   Number of users
London     1000
Newyork    2000
California 2500

3 个答案:

答案 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];

Read about JOIN here.

答案 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;

检查并根据您的要求进行修改。