我想获取居住在某些城市的注册客户的百分比。从一个城市获取客户的百分比
目前我有这个
SELECT
COUNT(city)/Count(CustID) * 100 AS percent, city
FROM customer
GROUP BY City
目前,它提供了100%的每一行的结果。
我很想念这里的东西。我如何解决我的查询?
我想获取居住在某些城市的注册客户的百分比。从一个城市获取客户的百分比
目前我有这个
SELECT
COUNT(city)/Count(CustID) * 100 AS percent, city
FROM customer
GROUP BY City
目前,它提供了100%的每一行的结果。
我很想念这里的东西。我如何解决我的查询?
你需要得到客户的总数在一个单独的子查询:
SELECT COUNT(city)/(SELECT Count(CustID) FROM Customer) * 100 AS percent, city
FROM customer
GROUP BY City
,或者使用CROSS JOIN
:
SELECT
COUNT(city)/x.cnt * 100 AS percent, city
FROM customer
CROSS JOIN (SELECT Count(CustID) AS cnt FROM Customer) AS x
GROUP BY City
你的子查询给客户所有城市的ID –
尝试这个
SELECT
COUNT(city)/(SELECT Count(CustID) FROM Customer) * 100 AS percent, city
FROM customer c
GROUP BY City
在数数
与OP的查询相同,这将输出100%。 –
正确,它提供了100%的所有 – ababusa
(城市)和计数(custId)给出相同的输出,这就是为什么你有100% –