Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie Aufzeichnungen der letzten 24 Stunden in MySQL

Manchmal müssen Sie möglicherweise Daten der letzten 24 Stunden abrufen oder Datensätze für die letzten 24 Stunden für Berichte und Analysen auswählen. So erhalten Sie Datensätze der letzten 24 Stunden in MySQL. Sie können diese SQL-Abfrage verwenden, um Zeilen für die letzten 24 Stunden in Ihrer Datenbank abzurufen.

So erhalten Sie Aufzeichnungen der letzten 24 Stunden in MySQL

Hier ist die SQL-Abfrage, um Datensätze der letzten 24 Stunden in MySQL abzurufen.

Nehmen wir an, Sie haben die folgende Tabelle sales(order_date, amount)

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

mysql> insert into sales(order_date,amount) 
     values('2020-06-07 01:00:00',200),
     ('2020-06-07 02:30:00',350),
     ('2020-06-07 04:40:00',410),
     ('2020-06-07 12:10:00',600),
     ('2020-06-07 15:00:00',300),
     ('2020-06-07 18:55:00',450),
     ('2020-06-07 21:00:00',1200),
     ('2020-06-08 03:00:00',800),
     ('2020-06-08 05:30:00',900),
     ('2020-06-08 07:20:00',100),
     ('2020-06-08 10:10:00',250),
     ('2020-06-08 12:05:00',300),
     ('2020-06-08 13:30:00',200);

mysql> select * from sales;
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-07 01:00:00 |    200 |
| 2020-06-07 02:30:00 |    350 |
| 2020-06-07 04:40:00 |    410 |
| 2020-06-07 12:10:00 |    600 |
| 2020-06-07 15:00:00 |    300 |
| 2020-06-07 18:55:00 |    450 |
| 2020-06-07 21:00:00 |   1200 |
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

Bonuslektüre:So erhalten Sie den ersten Datensatz in jeder Gruppe in MySQL

Datensätze der letzten 24 Stunden in MySQL abrufen

Hier ist die SQL-Abfrage, um Datensätze der letzten 24 Stunden in MySQL abzurufen

mysql> select * from sales
       where order_date > now() - interval 24 hour;
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-07 15:00:00 |    300 |
| 2020-06-07 18:55:00 |    450 |
| 2020-06-07 21:00:00 |   1200 |
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

In der obigen SQL-Abfrage verwenden wir die MySQL-Systemfunktion now() um die aktuelle Datumszeit zu erhalten. Dann verwenden wir die INTERVAL-Klausel, um die Zeilen auszuwählen, in denen order_date fällt in die letzten 24 Stunden der aktuellen Datumszeit.

Bonuslektüre:So erhalten Sie Datensätze der letzten 15 Tage in MySQL

Anstatt das Intervall in Stunden anzugeben, können Sie es auch in Tagen angeben.

mysql> select * from sales
     where order_date > now() - interval 1 day;
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-07 15:00:00 |    300 |
| 2020-06-07 18:55:00 |    450 |
| 2020-06-07 21:00:00 |   1200 |
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

Die beiden obigen Abfragen helfen Ihnen dabei, Aufzeichnungen der letzten 24 Stunden zu erhalten.

Bonuslektüre:So erhalten Sie den letzten Datensatz in jeder Gruppe in MySQL

Wenn Sie jedoch nur Zeilen für den heutigen Tag auswählen möchten, können Sie die folgende Abfrage verwenden.

mysql> select * from sales
      where date(order_date) = date(now());
+---------------------+--------+
| order_date          | amount |
+---------------------+--------+
| 2020-06-08 03:00:00 |    800 |
| 2020-06-08 05:30:00 |    900 |
| 2020-06-08 07:20:00 |    100 |
| 2020-06-08 10:10:00 |    250 |
| 2020-06-08 12:05:00 |    300 |
| 2020-06-08 13:30:00 |    200 |
+---------------------+--------+

In der obigen Abfrage erhalten Sie nur Zeilen mit dem aktuellen Datum und nicht nach 24 Stunden. Wir verwenden die DATE-Funktion, um nur die Zeilen auszuwählen, in denen der Datumswert von order_date mit dem Datumswert der now()-Funktion übereinstimmt, also das aktuelle Datum.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!