Получить количество результатов без group by и group by в одном запросе

O
На сайте с 29.05.2008
Offline
195
632

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

Есть следующий запрос, который выбирает количество хитов за месяц:

SELECT COUNT(*)
FROM
((SELECT
`token`,
`timestamp`
FROM `trace`)
UNION ALL
(SELECT
`token`,
`timestamp`
FROM `trace-article`)
UNION ALL
(SELECT
`token`,
`timestamp`
FROM `trace-search`)
) `trace+trace-article+trace-search`
WHERE `timestamp` >= DATE_SUB(NOW(), INTERVAL DAY(LAST_DAY(NOW())) DAY);

Нужно дополнительно получать количество результатов для GROUP BY `token`, DATE(`timestamp`) в этом же результате.

Joker-jar
На сайте с 26.08.2010
Offline
154
#1

Например, получать при помощи SQL-запроса значения с группировкой, а потом, уже в скрипте, путем сложения значений, получить результирующее.

O
На сайте с 29.05.2008
Offline
195
#2

Joker-jar, я так и сделал.

SELECT

SUM(`count`) AS `count`,
COUNT(*) AS `group-count`
FROM (
SELECT
COUNT(*) AS `count`
FROM
((SELECT
`token`,
`timestamp`
FROM `trace`)
UNION ALL
(SELECT
`token`,
`timestamp`
FROM `trace-article`)
UNION ALL
(SELECT
`token`,
`timestamp`
FROM `trace-search`)
) `trace+trace-article+trace-search`
WHERE `timestamp` >= DATE_SUB(NOW(), INTERVAL DAY(LAST_DAY(NOW())) DAY)
GROUP BY `token`, DATE(`timestamp`)) `trace+trace-article+trace-search-group`;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий