2016-02-24 36 views
0

我想获取居住在某些城市的注册客户的百分比。从一个城市获取客户的百分比

目前我有这个

SELECT 
COUNT(city)/Count(CustID) * 100 AS percent, city 
FROM customer 
GROUP BY City 

目前,它提供了100%的每一行的结果。
我很想念这里的东西。我如何解决我的查询?

+0

(城市)和计数(custId)给出相同的输出,这就是为什么你有100% –

回答

1

你需要得到客户的总数在一个单独的子查询:

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 
+0

你的子查询给客户所有城市的ID –

0

尝试这个

SELECT 
COUNT(city)/(SELECT Count(CustID) FROM Customer) * 100 AS percent, city 
FROM customer c 
GROUP BY City 
在数数
+0

与OP的查询相同,这将输出100%。 –

+0

正确,它提供了100%的所有 – ababusa