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

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

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


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

Много е лесно да изберете данни от последния 1 час в MySQL с помощта на клауза INTERVAL. Да кажем, че имате следната таблица 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',150),
      (3, '2021-02-02 08:55:00',200),
      (4, '2021-02-02 09:15:00',125),
      (5, '2021-02-02 09:30:00',200),
      (6, '2021-02-02 09:45:00',250);

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

Ето SQL за показване на последното време с помощта на now() функция.

mysql> select now();
 +---------------------+
 | now()               |
 +---------------------+
 | 2021-02-02 09:48:27 |
 +---------------------+

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

mysql> select * 
       from sales 
       where order_date > now() - interval 1 hour;
 +------+---------------------+--------+
 | id   | order_date          | amount |
 +------+---------------------+--------+
 |    3 | 2021-02-02 08:55:00 |    200 |
 |    4 | 2021-02-02 09:15:00 |    125 |
 |    5 | 2021-02-02 09:30:00 |    200 |
 |    6 | 2021-02-02 09:45:00 |    250 |
 +------+---------------------+--------+

В горната заявка избираме само онези редове, чиято order_date попада в интервала от последния 1 час. Използваме клауза INTERVAL, за да извадим лесно интервал от 1 час от текущото време, получено с помощта на now() функция.


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

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

mysql> select * from sales 
       where date(order_date)=date(now()) 
        and hour(order_date)=hour(now());
 +------+---------------------+--------+
 | id   | order_date          | amount |
 +------+---------------------+--------+
 |    4 | 2021-02-02 09:15:00 |    250 |
 |    5 | 2021-02-02 09:30:00 |    250 |
 |    6 | 2021-02-02 09:45:00 |    250 |
 +------+---------------------+--------+

В горната SQL заявка избираме само онези записи, чиито order_date Стойностите DATE и HOUR на колоната са същите като тези на настоящата дата и час. Използваме функции DATE и HOUR, за да получим стойности за дата и час от стойности за дата и час.

Нуждаете се от инструмент за отчитане за 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. грешка:'Не мога да се свържа с локален MySQL сървър чрез сокет '/var/run/mysqld/mysqld.sock' (2)' -- Липсва /var/run/mysqld/mysqld.sock

  2. Бавно начално време на MySQL в режим GTID? Проблемът може да е размерът на двоичния регистрационен файл

  3. Percona Live Dublin – Резюме на събитието и нашите сесии

  4. Как да премахнете водещи и последващи знаци в MySQL

  5. Грешка при преименуването на колона в MySQL