Для данных этого примера:
First Name | Last Name | Count | datetime
----------------------------------------------------
John | Mac | 5 | 2019-07-09 01:00:01
Drew | G | 6 | 2019-07-09 01:01:01
John | Mac | 10 | 2019-07-09 01:11:01
John | Mac | 15 | 2019-07-09 01:12:01
John | Mac | 16 | 2019-07-09 01:13:01
John | Mac | 2 | 2019-07-09 01:14:01
Drew | G | 16 | 2019-07-09 01:03:01
Drew | G | 26 | 2019-07-09 01:08:01
Drew | G | 8 | 2019-07-09 02:01:01
Drew | G | 10 | 2019-07-09 05:01:01
Drew | G | 11 | 2019-07-09 08:01:01
Я могу использовать этот запрос, чтобы получить среднее количество для каждого человека, сгруппированного по дате:
SELECT firstname, lastname, date(datetime), avg(count)
from table
where date(datetime) between '2019-07-08' and '2019-07-08'
group by firstname, lastname, date(datetime)
Как мне написать запрос ввключить пять самых высоких показателей для каждой комбинации (имя, дата)?Я хочу произвести вывод как:
First Name | Last Name | Avg_count| date | max1 | max1_datetime | max2 | max2_datetime | max 3 | max3_datetime | max4 | max4_datetime | max5 |max5_ datetime
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
John | mac | 9 | 2019-07-09 | 16 | 2019-07-09 01:13:01 | 15 | 2019-07-09 01:12:01 | 10 | 2019-07-09 01:11:01 | 5 | 2019-07-09 01:00:01 | 2 | 2019-07-09 01:14:01