Intereting Posts
Imagick php windows MySQL – заказывать результаты через другую таблицу PHP Jquery load () html-файл, содержащий JavaScript Получить ключи для повторяющихся значений в массиве Создание системы лицензирования OAuth2.0 Серверный стек, как использовать состояние для предотвращения CSRF? для draft2.0 v20 Laravel 5.2 Socialite Facebook Войти cURL error 60 API Google: аутентифицировать запрос с помощью OAuth, но без окна согласия пользователя, затем запрашивать данные Google для определенного имени пользователя или идентификатора пользователя передать значение в url href в php Symfony 2: класс не найден в контроллере Какие проверки следует использовать для предотвращения прямого доступа к страницам (с использованием PHP)? Как использовать настраиваемую PHP-шаблонную систему Событие таймаута сеанса в magento Загрузка файла через curl в php Отправлять push-уведомление конкретному пользователю с помощью Parse

Выберите группировки даты и времени в MySQL, сгруппированные по часам

У меня есть куча данных даты в таблице mysql следующим образом:

2010-02-13 1:00:00, "soma data" 2010-02-13 1:25:00, "soma data" 2010-02-13 1:37:00, "soma data" 2010-02-13 2:12:00, "soma data" 

Я хочу выбрать отчет, который показывает данные, сгруппированные по часам, например:

 On Feb 13, during the hour from 1:00 pm to 1:59 pm, there were 3 data points. On Feb 13, during the hour from 2:00 pm to 2:59 pm, there was 1 data points. ... 

В основном я хочу сообщить о совокупном количестве записей, которые произошли в течение каждого часа дня. Таким образом, конечный результат даст мне отчет о 10 днях, разразившийся с 24-часовым шагом, поэтому я могу видеть, сколько данных есть в течение любого заданного часа в любой день.

TIA, Надеюсь, вы можете помочь!

Вы можете использовать предложение GROUP BY , как в следующем запросе:

 SELECT COUNT(*), YEAR(dateTimeField), MONTH(dateTimeField), DAY(dateTimeField), HOUR(dateTimeField) FROM yourTable WHERE dateTimeField >= '2010-02-04 00:00:00' AND dateTimeField < '2010-02-14 00:00:00' GROUP BY YEAR(dateTimeField), MONTH(dateTimeField), DAY(dateTimeField), HOUR(dateTimeField); 

Вы также можете проверить документацию MySQL для дальнейшей справки о функциях даты и времени:

  • Справочное руководство MySQL 5.1 – Функции даты и времени
 SELECT HOUR(datetime), COUNT(*) FROM table GROUP BY HOUR(datetime); 

В течение этого часа вы получите два поля: час и количество событий.