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

Jak uzyskać rekordy między 2 datami w MySQL?

Wiele razy trzeba uzyskać dane między 2 datami do raportowania i analizy. Pobieranie rekordów między 2 datami w MySQL jest dość łatwe, mimo że nie ma do tego żadnej wbudowanej funkcji. Oto SQL do wybierania rekordów między 2 datami w MySQL, PostgreSQL i SQL Server.

Jak uzyskać rekordy między 2 datami w MySQL

Oto SQL, aby uzyskać rekordy między 2 datami w MySQL.

Załóżmy, że masz następującą tabelę sprzedaż(data_zamówienia, sprzedaż)

mysql> create table sales(order_date date,sale int);

mysql> insert into sales(order_date,sale)
     values('2020-06-01',250),
     ('2020-06-0',350),
     ('2020-06-02',400),
     ('2020-06-03',250),
     ('2020-06-04',200),
     ('2020-06-05',180),
     ('2020-06-06',150),
     ('2020-06-07',650),
     ('2020-06-08',500),
     ('2020-06-09',150);

mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-01 |  250 |
| 2020-06-00 |  350 |
| 2020-06-02 |  400 |
| 2020-06-03 |  250 |
| 2020-06-04 |  200 |
| 2020-06-05 |  180 |
| 2020-06-06 |  150 |
| 2020-06-07 |  650 |
| 2020-06-08 |  500 |
| 2020-06-09 |  150 |
+------------+------+

Przeczytaj bonus:Jak zdobyć rekordy z ostatnich 24 godzin

Jak uzyskać wiersze między 2 datami w MySQL

Oto zapytanie SQL, aby uzyskać rekordy między 2 datami w MySQL. Istnieją 2 sposoby na uzyskanie wierszy między 2 datami – za pomocą operatora matematycznego i za pomocą funkcji BETWEEN. Przyjrzymy się obu tym metodom.

Przeczytaj dodatkowe:  Jak uzyskać rekordy z ostatnich 15 dni w MySQL

Korzystanie z operatorów matematycznych

Załóżmy, że chcesz uzyskać rekordy, w których data_zamówienia jest między 2 datami 2020-06-02 i 2020-06-06. Oto kod SQL służący do pobierania danych między 2 datami przy użyciu operatorów matematycznych.

mysql> select * from sales
     where order_date>='2020-06-02'
     and order_date<='2020-06-06';
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-02 |  400 |
| 2020-06-03 |  250 |
| 2020-06-04 |  200 |
| 2020-06-05 |  180 |
| 2020-06-06 |  150 |
+------------+------+

W powyższym zapytaniu wybieramy rekordy, w których data_zamówienia przypada w dniu 02-06-2020 lub później oraz w dniu 06-06-2020 lub wcześniej. Możesz także użyć innych operatorów matematycznych, takich jak>,<,=i <> z datami. Możesz także użyć tego zapytania SQL, aby wybrać rekordy między 2 datami w PostgreSQL, SQL Server i Oracle.

Przeczytaj bonus:Jak zdobyć pierwszy rekord w każdej grupie w MySQL

Jeśli chcesz wybrać rekordy od określonej daty do bieżącej daty, możesz skorzystać z funkcji systemowych, takich jak aktualna_data lub teraz() w zapytaniu.

mysql> select * from sales
     where order_date>'2020-06-02'
     and order_date<current_date;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-03 |  250 |
| 2020-06-04 |  200 |
| 2020-06-05 |  180 |
| 2020-06-06 |  150 |
| 2020-06-07 |  650 |
| 2020-06-08 |  500 |
+------------+------+

Korzystanie z operatora BETWEEN

Możesz także wybrać dane między 2 datami za pomocą operatora BETWEEN

mysql> select * from sales
     where order_date
     BETWEEN '2020-06-02' and '2020-06-06';
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-02 |  400 |
| 2020-06-03 |  250 |
| 2020-06-04 |  200 |
| 2020-06-05 |  180 |
| 2020-06-06 |  150 |
+------------+------+

Podczas wybierania rekordów operator BETWEEN uwzględni rekordy między tymi 2 datami, o których wspominasz, a także rekordy z 2 dat.

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. bbPress:Jak znaleźć mapowania załączników do odpowiednich postów

  2. Wtyczka uwierzytelniania 'caching_sha2_password' nie jest obsługiwana

  3. Importuj bazę danych do MySQL lub MariaDB

  4. Eksportuj bazę danych MySQL do bazy danych SQLite

  5. Instalowanie WordPressa 5 na ZEIT teraz z hostingiem MySQL