Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać dane z ostatniej godziny w MySQL?

Przydatne jest uzyskanie rekordów z ostatniej godziny lub wierszy z ostatniej godziny w celu raportowania i analizy. W tym artykule przyjrzymy się, jak uzyskać dane z ostatniej godziny w MySQL.


Jak uzyskać dane z ostatniej godziny w MySQL

Bardzo łatwo jest wybrać dane z ostatniej godziny w MySQL za pomocą klauzuli INTERVAL. Załóżmy, że masz następującą tabelę sprzedaż(id, data_zamówienia, kwota) .

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 |
 +------+---------------------+--------+

Oto kod SQL pokazujący ostatni czas przy użyciu now() funkcja.

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

Oto kod SQL do pobrania danych z ostatniej godziny w 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 |
 +------+---------------------+--------+

W powyższym zapytaniu wybieramy tylko te wiersze, których data_zamówienia przypada w ciągu ostatnich 1 godzin. Używamy klauzuli INTERVAL, aby łatwo odjąć 1-godzinny interwał od czasu teraźniejszego uzyskanego za pomocą now() funkcja.


Jak uzyskać aktualne dane godzinowe w MySQL

Czasami może być konieczne uzyskanie rekordów bieżącej godziny w MySQL. Oto zapytanie SQL do pobrania danych o bieżącej godzinie.

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 |
 +------+---------------------+--------+

W powyższym zapytaniu SQL wybieramy tylko te rekordy, których data_zamówienia wartości DATE i HOUR w kolumnie są takie same, jak dla bieżącej daty i godziny. Używamy funkcji DATA i GODZINA, aby uzyskać wartości daty i godziny z wartości daty i godziny.

Potrzebujesz narzędzia do raportowania dla MySQL? Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zrozumienie MySQL TRUNCATE TABLE na praktycznych przykładach

  2. Zachowanie MySQL GROUP BY

  3. Zamiana wartości kolumn w MySQL

  4. Jak dodać czas do wartości daty i godziny w MySQL?

  5. Jak wykonać UPSERT, abym mógł używać zarówno nowych, jak i starych wartości w części dotyczącej aktualizacji?