w_b_x
@w_b_x

Как использовать GROUP BY в одном QUERY с несколькими SELECT?

Здравствуйте!

Грубо говоря, есть такой запрос:
SELECT  
(SELECT COUNT(*) FROM  `l_sites`) AS tot_user,
(SELECT COUNT(*) FROM  `l_users`) AS tot_user2,
(SELECT COUNT(*) FROM  `l_leads`) AS tot_user3


Работает отлично.
Но что, если мне нужно не общую сумму, а сумму на каждый день?
3 отдельных запроса будут выглядеть так:
SELECT `date`, COUNT(*) AS tot_user FROM  `l_sites` GROUP BY `date`
SELECT `date`, COUNT(*) AS tot_user2 FROM  `l_users` GROUP BY `date`
SELECT `date`, COUNT(*) AS tot_user3 FROM  `l_leads` GROUP BY `date`


По отдельности отлично работают, но как это объединить в один запрос?
Необходимо, так как через PHP вывожу всё это в таблицу через WHILE.
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
idShura
@idShura
SELECT `date`, COUNT(*) AS cnt, 'tot_user' as user FROM  `l_sites` GROUP BY `date`
union all
SELECT `date`, COUNT(*) AS cnt, 'tot_user2' as user FROM  `l_users` GROUP BY `date`
union all
SELECT `date`, COUNT(*) AS cnt, 'tot_user3' as user FROM  `l_leads` GROUP BY `date`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы