2014-01-17 4 views
0

Я пытаюсь рассчитать процент клиентов, которые живут в указанном диапазоне (< = 10miles) от общего числа клиентов, данные поступают из одной таблицы.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

Большое спасибо Гордону, который отлично поработал. – user3200504

Смежные вопросы