2015-02-04 1 views
1

Я следующая таблицей «статистика»:MySQL получить последнюю запись даты в порядке возрастания

enter image description here

Я хочу, чтобы MySQL запроса, возвращающий последнюю 5 даты с суммой кликов. Так, начиная запись должна быть 2015-01-12

Выход:

enter image description here

До сих пор я написал следующий запрос, который не работает в соответствии с моим выходом.

SELECT logdate, (
    SELECT SUM(clicks) 
    FROM stats t2 
    WHERE t2.logdate = t1.logdate 
    ORDER BY t2.logdate 
    DESC LIMIT 0,5 
) as clicks 
FROM stats t1 
GROUP BY t1.logdate 
ORDER BY t1.logdate ASC 
LIMIT 0, 5 

ответ

5

Почему такой сложный запрос? Вы можете просто сделать

SELECT logdate,sum(clicks) FROM stats 
GROUP BY logdate 
ORDER BY logdate DESC 
LIMIT 5 

Редактировать после вашего комментария

SELECT * FROM 
(
SELECT logdate,sum(clicks) FROM stats 
GROUP BY logdate 
ORDER BY logdate DESC 
LIMIT 5 
) data 
ORDER BY logdate ASC 

Fiddle

+0

возвращает последнюю запись даты сверху .. Я хочу, чтобы ваш вывод запроса в обратном порядке. – Kliptu

+0

Вы можете обернуть еще один выбор по результату, чтобы отсортировать даты по возрастанию, см. Edit –

+0

Perfetc! благодаря – Kliptu

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