У меня есть таблица в следующем формате:Найти макс (HOUR_COUNT) в течение периода времени
+----+------------+----------+------------+------------+
| id | cur_date | cur_hour | hour_count | cumu_count |
+----+------------+----------+------------+------------+
| 56 | 2016-01-01 | 00:00:00 | 8 | 8 |
| 57 | 2016-01-01 | 01:00:00 | 6 | 14 |
| 58 | 2016-01-01 | 02:00:00 | 3 | 17 |
| 59 | 2016-01-01 | 03:00:00 | 1 | 18 |
| 60 | 2016-01-01 | 04:00:00 | 6 | 24 |
| 61 | 2016-01-01 | 05:00:00 | 7 | 31 |
| 62 | 2016-01-01 | 06:00:00 | 29 | 60 |
| 63 | 2016-01-01 | 07:00:00 | 35 | 95 |
| 64 | 2016-01-01 | 08:00:00 | 49 | 144 |
| 65 | 2016-01-01 | 09:00:00 | 63 | 207 |
| 66 | 2016-01-01 | 10:00:00 | 64 | 271 |
| 67 | 2016-01-01 | 11:00:00 | 62 | 333 |
| 68 | 2016-01-01 | 12:00:00 | 57 | 390 |
| 69 | 2016-01-01 | 13:00:00 | 58 | 448 |
| 70 | 2016-01-01 | 14:00:00 | 48 | 496 |
| 71 | 2016-01-01 | 15:00:00 | 36 | 532 |
| 72 | 2016-01-01 | 16:00:00 | 22 | 554 |
| 73 | 2016-01-01 | 17:00:00 | 18 | 572 |
| 74 | 2016-01-01 | 18:00:00 | 16 | 588 |
| 75 | 2016-01-01 | 19:00:00 | 10 | 598 |
| 76 | 2016-01-01 | 20:00:00 | 7 | 605 |
| 77 | 2016-01-01 | 21:00:00 | 4 | 609 |
| 78 | 2016-01-01 | 22:00:00 | 2 | 611 |
| 79 | 2016-01-01 | 23:00:00 | 1 | 612 |
+----+------------+----------+------------+------------+
То, что я хочу сделать, это пройти через каждый день (я обеспечиваю месяц), и это возвращает меня к day, hour и hour_count, который имеет большинство полей. В этом случае, 10:00:00 имеет час с наибольшим кол, поэтому он должен вернуть
+-----------|------------|------------+
|cur_date | cur_hour | hour_count|
+-----------+------------+------------+
|2016-01-01 | 10:00:00 | 65 |
|2016-01-02 | ? | ? |
Я использую следующий запрос, но не возвращает точные результаты:
mysql> select cur_date,cur_hour, max(hour_count) from hour_data where cur_date like '2016%' group by cur_date;
+------------+----------+-----------------+
| cur_date | cur_hour | max(hour_count) |
+------------+----------+-----------------+
| 2016-01-01 | 00:00:00 | 64 |
| 2016-01-02 | 04:00:00 | 67 |
| 2016-01-03 | 04:00:00 | 43 |
| 2016-01-04 | 05:00:00 | 640 |
| 2016-01-05 | 00:00:00 | 672 |
| 2016-01-06 | 00:00:00 | 675 |
| 2016-01-07 | 00:00:00 | 705 |
| 2016-01-08 | 00:00:00 | 696 |
| 2016-01-09 | 00:00:00 | 203 |
| 2016-01-10 | 00:00:00 | 89 |
| 2016-01-11 | 01:00:00 | 673 |
| 2016-01-12 | 00:00:00 | 708 |
| 2016-01-13 | 00:00:00 | 710 |
| 2016-01-14 | 00:00:00 | 731 |
| 2016-01-15 | 00:00:00 | 675 |
| 2016-01-16 | 00:00:00 | 222 |
| 2016-01-17 | 00:00:00 | 112 |
| 2016-01-18 | 00:00:00 | 683 |
| 2016-01-19 | 00:00:00 | 709 |
| 2016-01-20 | 00:00:00 | 690 |
| 2016-01-21 | 00:00:00 | 696 |
| 2016-01-22 | 00:00:00 | 643 |
| 2016-01-23 | 00:00:00 | 282 |
| 2016-01-24 | 00:00:00 | 189 |
| 2016-01-25 | 01:00:00 | 757 |
| 2016-01-26 | 00:00:00 | 765 |
| 2016-01-27 | 00:00:00 | 770 |
| 2016-01-28 | 00:00:00 | 805 |
| 2016-01-29 | 00:00:00 | 786 |
| 2016-01-30 | 00:00:00 | 394 |
| 2016-01-31 | 00:00:00 | 146 |
| 2016-02-01 | 00:00:00 | 797 |
+------------+----------+-----------------+
32 rows in set, 1 warning (0.01 sec)
Дата и макс (hour_count) верны, но cur_hour - неправильный час.
Пожалуйста, прочитайте [Какие темы я могу задать] (http://stackoverflow.com/help/on-topic) и [Как задать хороший вопрос] (http://stackoverflow.com/help/how -to-ask) И [идеальный вопрос] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SO is ** не бесплатное кодирование или учебник service ** Вы должны показать, что приложили определенные усилия для решения своей проблемы. – RiggsFolly
Рассмотрите дату и время хранения как единого объекта – Strawberry
У меня нет такой опции. – user3299633