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

Jak uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL?

Przydatne jest uzyskanie danych sprzedaży z poprzednich 3 miesięcy, aby zrozumieć trendy sprzedaży, raportować i analizować dane. Oto jak uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL dla Twojej firmy/strony internetowej. Przyjrzymy się, jak wybrać rekordy z ostatnich 3 miesięcy za pomocą funkcji INTERVAL w MySQL.

Jak uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL

Oto kroki, aby uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL. Załóżmy, że masz następującą tabelę sprzedaż(data_zamówienia, kwota) który zawiera informacje o codziennej sprzedaży.

mysql> select order_date,sale from sales;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-28 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Przeczytaj bonus:Jak uzyskać rekordy z bieżącego miesiąca

Oto zapytanie SQL, aby uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL, znane również jako 3-miesięczna sprzedaż krocząca. Używamy funkcji INTERVAL(), aby uzyskać dane o sprzedaży z ostatnich 3 miesięcy.

mysql>select order_date,sale from sales
where order_date > now() - INTERVAL 3 MONTH;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-02-09 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

W powyższym zapytaniu SQL mówimy MySQL, aby pobierał dane sprzedaży dla wszystkich dat, w których data_zamówienia mieści się w określonym przez nas PRZEDZIALE, czyli w ciągu ostatnich 3 miesięcy od TERAZ.

Przeczytaj bonus:Jak utworzyć histogram w MySQL

Ponieważ różne miesiące mają różną liczbę dni, kiedy wspomnisz o INTERVAL 3 months , MySQL otrzyma dane dokładnie po tym samym dniu miesiąca, przed 3 miesiącami. Oznacza to, że jeśli dzisiaj jest 9 czerwca, otrzyma dane o sprzedaży z 9 marca

Jeśli chcesz uzyskać dane sprzedaży z ostatnich 90 dni, oto zapytanie SQL, aby uzyskać dane sprzedaży z ostatnich 90 dni.

mysql>select order_date,sale from sales
where order_date > now() - INTERVAL 90 DAY;

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-11 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Przeczytaj bonus:Jak obliczyć współczynnik konwersji w MySQL

Jeśli masz wiele wierszy dla każdej daty_zamówienia, będziesz musiał zagregować dzienną sprzedaż, gdy uzyskasz dane sprzedaży z ostatnich 3 miesięcy. Na przykład, jeśli masz tabelę sprzedaży, jak pokazano poniżej

mysql> select order_date,sale from sales;

(showing only last few records)
+---------------------+------+
| order_date          | sale |
+---------------------+------+
| 2020-01-28 09:30:35 |  23  |
| 2020-01-28 10:10:00 |  30  |
| 2020-01-28 11:00:15 |  20  |
| 2020-01-28 14:50:35 |  15  |
| 2020-01-28 15:30:36 |  25  |
| 2020-01-28 17:10:55 |  15  |
|                 ... |  ... |
+---------------------+------+

Następnie oto zapytanie, aby uzyskać dane sprzedaży z ostatnich 3 miesięcy, po zsumowaniu dziennej sprzedaży

mysql>select date(order_date),sale from sales
      where order_date > now() - INTERVAL 3 MONTH
      group by date(order_date);

(showing only last few records)
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-09 |  230 |
|        ... |  ... |
| 2020-05-29 |  300 |
| 2020-05-30 |  250 |
| 2020-05-31 |  250 |
| 2020-06-01 |  250 |
| 2020-06-02 |  150 |
| 2020-06-03 |  300 |
| 2020-06-04 |  200 |
| 2020-06-05 |  200 |
| 2020-06-06 |  250 |
| 2020-06-07 |  150 |
| 2020-06-08 |  300 |
| 2020-06-09 |  200 |
+------------+------+

Możesz wykreślić te dane sprzedaży na wykresie liniowym za pomocą narzędzia do tworzenia wykresów, takiego jak Ubiq.

Możesz również zagregować te dane sprzedaży dla każdego miesiąca, korzystając z następującego zapytania. Używamy DATE_FORMAT, aby uzyskać nazwy miesięcy z wartości dat.

mysql>select date_format(order_date,'%b'),sale from sales
      where order_date > now() - INTERVAL 3 MONTH
      group by date_format(order_date,'%b');


+------------+-------+
| order_date |  sale |
+------------+-------+
| Mar        |   830 |
| Apr        | 10300 |
| May        | 12250 |
| Jun        |  1250 |
+------------+-------+

i wykreśl go na wykresie słupkowym, jak pokazano poniżej, utworzonym za pomocą Ubiq.

Otóż ​​to! Mamy nadzieję, że Ty również możesz uzyskać dane sprzedaży z ostatnich 3 miesięcy w MySQL dla swojej firmy/strony internetowej/aplikacji i udostępnić je swojemu zespołowi.

Jeśli chcesz tworzyć wykresy, dashboardy i raporty z bazy danych MySQL, możesz wypróbować Ubiq. Oferujemy 14-dniowy bezpłatny okres próbny.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MONTH() Przykłady – MySQL

  2. Podziel ciąg i przeprowadź pętlę przez wartości w procedurze MySql

  3. MySQL kontra MariaDB

  4. Jak nadać każdemu zarejestrowanemu użytkownikowi własny adres URL za pomocą PHP?

  5. Jak znaleźć nieistniejące dane z innej tabeli przez JOIN?