2016-04-14 3 views
0

У меня есть таблица посетителей с этих полей:COUNT и процент два значения в MySQL

id|---|browser|---|ip|---|device|---|city|---|state|---|country|---|status 

пытается показать самый посещаемый устройство с помощью morris.js пончик. Для процентного значения требуется процентное значение. Я пытался получить данные из MySQL в качестве расчетного значения.

SELECT device, 
(SELECT COUNT(id) FROM visitor WHERE status = '1') as total, 
COUNT(id) as visit FROM visitor WHERE status = '1' GROUP BY device 

Значение Я пытаюсь получить это:

device|---|visit|---|percentage 
iOS|---|2|---|40 
Android|---|2|---|40 
Windows|---|1|---|20 

Таким образом, запрос будет учитываться общим весь посетителем, прежде чем группируя в конкретные устройства. Затем вычислите процентное соотношение каждого устройства.

Пожалуйста, помогите

ответ

0
SELECT v.device, COUNT(*) visit, COUNT(*)/total percentage 
FROM (
     SELECT COUNT(*) total 
     FROM visitor 
     WHERE status = 1 
     ) t 
JOIN visitor v 
ON  status = 1 
GROUP BY 
     v.device 
0

попробовать использовать этот

select a.device, b.total, c.percent from visitor 
    left join (select device, count(id) as total from visitor where status='1') as b on b.device=a.device 
    left join (select device, b.total/count(id) as percent from visitor where status='1') on c.device=a.device 
    group by device 
Смежные вопросы