sql >> Databasteknik >  >> RDS >> Mysql

Hur man får uppgifter om aktuell månad i MySQL

Det hjälper till att få register över aktuell månad i MySQL för rapportering och dataanalys. Du kan använda den för att få försäljningsdata för innevarande månad, antal registreringar under innevarande månad och annan användbar information. Så här får du rader för aktuell månad i MySQL.

Hur man får uppgifter om aktuell månad i MySQL

Här är stegen för att få aktuella månadsrekord i MySQL. Vi kommer också att använda det för att få nya kunder under månaden.

Låt oss säga att du har följande tabell försäljning(orderdatum, rea, beställningar) som innehåller dagligt antal beställningar och försäljningsbelopp.

mysql> select * from sales;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-28 |  300 |     10 |
| 2020-04-29 |  250 |     15 |
| 2020-04-30 |  250 |     12 |
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  200 |     18 |
+------------+------+--------+

Bonus Läs:Hur man importerar CSV till MySQL Workbench

Hur får du försäljningsdata för aktuell månad i MySQL

Här är SQL-frågan för att få uppgifter om aktuell månad i MySQL

mysql> select * from sales
       where MONTH(order_date)=MONTH(now())
       and YEAR(order_date)=YEAR(now());
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  200 |     18 |
+------------+------+--------+

I ovanstående fråga använder vi systemfunktionen now() för att få aktuell datumtid. Sedan får vi aktuella månadsrader i MySQL genom att filtrera rader som har samma månad och år som aktuell datetime. MONTH() och YEAR() är inbyggda MySQL-funktioner för att få månadsnummer och årsnummer från ett givet datum.

Bonus Läs:Hur man skapar histogram i MySQL

Om din datumkolumn, det vill säga order_date är indexerad, så är det tillrådligt att inte använda någon funktion på den. Annars kommer det att ta lång tid att köra. Istället kan du använda följande SQL-fråga för att få uppgifter om aktuell månad i MySQL.

mysql> SELECT * FROM sales
      WHERE order_date >= (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH)
      AND order_date <  (LAST_DAY(NOW()) + INTERVAL 1 DAY);
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-05-01 |  250 |     14 |
| 2020-05-02 |  150 |     20 |
| 2020-05-03 |  300 |     21 |
| 2020-05-04 |  200 |     15 |
| 2020-05-05 |  200 |     17 |
| 2020-05-06 |  250 |     12 |
| 2020-05-07 |  150 |     15 |
| 2020-05-08 |  300 |     12 |
| 2020-05-09 |  200 |     18 |
+------------+------+--------+

När du har fått uppgifter om aktuell månad i MySQL kan du använda ett diagramverktyg för att rita upp den i en snygg graf som visas nedan och dela den med ditt team. Här är ett linjediagram skapat med Ubiqs instrumentpanelsprogram

Bonus Läs:Hur man beräknar omvandlingsfrekvens i MySQL

Hur får du registreringar och nya användare under innevarande månad i MySQL

På samma sätt kan du också få nya registreringar och användare under innevarande månad i MySQL. Låt oss säga att du har följande tabell Users(user_id, date_joined) som innehåller registreringsdata.

mysql> select * from users;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-28  |     213 |
| 2020-04-28  |     214 |
| 2020-04-30  |     215 |
| 2020-04-28  |     216 |
| 2020-04-28  |     217 |
| 2020-04-30  |     218 |
| 2020-04-28  |     219 |
| 2020-04-28  |     220 |
| 2020-04-30  |     221 |
| 2020-05-01  |     222 |
| 2020-05-01  |     222 |
| 2020-05-01  |     223 |
| 2020-05-04  |     224 |
| 2020-05-04  |     225 |
| 2020-05-04  |     226 |
| 2020-05-04  |     226 |
| 2020-05-04  |     227 |
| 2020-05-04  |     228 |
| 2020-05-05  |     229 |
| 2020-05-05  |     230 |
| 2020-05-05  |     231 |
| 2020-05-05  |     232 |
| 2020-05-06  |     233 |
| 2020-05-06  |     234 |
+-------------+---------+

Här är SQL-frågan för att få dagliga nya registreringar och användare under innevarande månad i MySQL.

mysql> select date(date_joined),count(*) from users
       where MONTH(date_joined)=MONTH(now())
       and YEAR(date_joined)=YEAR(now())
       group by date(date_joined);
+-------------------+----------+
| date(date_joined) | count(*) |
+-------------------+----------+
| 2020-05-01        |        3 |
| 2020-05-04        |        6 |
| 2020-05-05        |        4 |
| 2020-05-06        |        2 |
+-------------------+----------+

Du kan också använda den här SQL-frågan för att få antalet användare under en månad eller räkna nya användare under förra månaden. Ta bara bort date(date_joined) från välj sats och ta bort grupp för sats för att få totalt antal.

mysql> select count(*) from users
       where MONTH(date_joined)=MONTH(now())
       and YEAR(date_joined)=YEAR(now());

Bonus Läs:Hur man fyller i saknade datum i MySQL

När du har fått uppgifter om aktuell månad i MySQL kan du använda ett rapporteringsverktyg för att plotta dessa data på ett stapeldiagram eller instrumentpanel och dela dem med ditt team. Här är ett exempel på ett stapeldiagram som visar dagliga registreringar under innevarande månad, skapat med Ubiq.

Om du vill skapa diagram, instrumentpaneler och rapporter från MySQL-databasen kan du prova Ubiq. Vi erbjuder en 14-dagars gratis provperiod.

  1. Vi introducerar MariaDB Platform X5:databasen för alla arbetsbelastningar, nu i vilken skala som helst

  2. EXEC sp_executesql med flera parametrar

  3. Microsoft Access Table Tips – Tricks och riktlinjer del 2

  4. Felaktig syntax nära ''