Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите данни за всеки час в MySQL

Понякога може да се наложи да получавате почасови данни или да извличате записи за всеки час в MySQL. В тази статия ще разгледаме как да получите данни за всеки час в MySQL.


Как да получите данни за всеки час в MySQL

Ето стъпките за получаване на данни за всеки час в MySQL. Да кажем, че имате следната таблица sales(id, order_date, amount)

mysql> create table sales(id int, 
           order_date datetime, 
           amount int);

 mysql> insert into sales(id, order_date, amount)
      values(1, '2021-02-02 08:15:00',250),
      (2, '2021-02-02 08:30:00',200),
      (3, '2021-02-02 08:55:00',150),
      (4, '2021-02-02 09:15:00',125),
      (5, '2021-02-02 09:30:00',250),
      (6, '2021-02-02 09:45:00',200),
      (7, '2021-02-02 10:15:00',180),
      (8, '2021-02-02 10:30:00',125),
      (9, '2021-02-02 10:45:00',200),
      (10, '2021-02-02 11:15:00',250),
      (11, '2021-02-02 11:30:00',150),
      (12, '2021-02-02 11:45:00',200);

 mysql> select * from sales;
 +------+---------------------+--------+
 | id   | order_date          | amount |
 +------+---------------------+--------+
 |    1 | 2021-02-02 08:15:00 |    250 |
 |    2 | 2021-02-02 08:30:00 |    200 |
 |    3 | 2021-02-02 08:55:00 |    150 |
 |    4 | 2021-02-02 09:15:00 |    125 |
 |    5 | 2021-02-02 09:30:00 |    250 |
 |    6 | 2021-02-02 09:45:00 |    200 |
 |    7 | 2021-02-02 10:15:00 |    180 |
 |    8 | 2021-02-02 10:30:00 |    125 |
 |    9 | 2021-02-02 10:45:00 |    200 |
 |   10 | 2021-02-02 11:15:00 |    250 |
 |   11 | 2021-02-02 11:30:00 |    150 |
 |   12 | 2021-02-02 11:45:00 |    200 |
 +------+---------------------+--------+


Как да получа данни за всеки час в MySQL

Ето SQL заявката за получаване на данни за всеки час в MySQL.

mysql> select hour(order_date),sum(amount)
       from sales
       group by hour(order_date);
 +------------------+-------------+
 | hour(order_date) | sum(amount) |
 +------------------+-------------+
 |                8 |         600 |
 |                9 |         575 |
 |               10 |         505 |
 |               11 |         600 |
 +------------------+-------------+

В горната заявка ние просто групираме по дата_на_поръчка използвайки функция ЧАС и обобщена сума колона с помощта на функция SUM.

Функцията HOUR извлича номера на часа от дадена стойност за дата/час/дата и час, която може да бъде предоставена като литерален низ или име на колона.

Ако искате да покажете стойности за час с помощта на нотация AM/PM, като 8:00, 9:00 и т.н., тогава трябва да използвате функцията date_format, която ви позволява да промените формата на дадена стойност за дата/час/datetime, която може да бъде предоставена като буквален низ или име на колона.

mysql> select date_format(order_date,'%H %p') as hour,
        sum(amount) as total_sales
        from sales
        group by date_format(order_date,'%H %p');
 +-------+-------------+
 | hour  | total_sales |
 +-------+-------------+
 | 08 AM |         600 |
 | 09 AM |         575 |
 | 10 AM |         505 |
 | 11 AM |         600 |
 +-------+-------------+

Нуждаете се от инструмент за отчитане за MySQL? Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Поправете „ГРЕШКА 1222 (21000):Използваните оператори SELECT имат различен брой колони“, когато използвате UNION в MySQL

  2. Как работи функцията LCASE() в MySQL

  3. Функция MySQL LEAST() – Намерете най-малкия аргумент в списък с аргументи

  4. .NET Core 2.1 Identity получава всички потребители с техните свързани роли

  5. Не е намерен подходящ драйвер за 'jdbc:mysql://localhost:3306/mysql