2014-01-17 169 views
0

我试图计算在客户总数内生活在指定范围(< = 10英里)内的客户的百分比,数据来自同一个表。MySQL计算同一个表中两个计数的百分比

Customer_Loc(表名)

Cust_ID | Rd_dist(列名)

我试过下面的查询语法错误。

select count(Rd_dist)/count (Cust_ID) 
from customer_loc 
where Rd_Dist <=10 *100 as percentage 

我意识到解决这个问题的方法可能相当简单,但我是SQL新手,它让我坚持了很长时间。

+0

http://stackoverflow.com/questions/1127558/sql-divide-by-two-count重复? – Meow

+0

“你的生活距离客户总数的10英里以内是什么意思?”你如何有意义地将距离与一定数量的顾客进行比较? – Bohemian

回答

0

您的查询存在的问题是您正在过滤掉所有距离超过10英里的客户。您需要有条件的聚合,并且这在MySQL中非常简单:

select (sum(Rd_Dist <= 10)/count(*)) * 100 as percentage 
from customer_loc; 
+0

非常感谢Gordon,他的工作很完美。 – user3200504