sql >> Database teknologi >  >> RDS >> Mysql

Sådan får du optegnelser over den aktuelle måned i MySQL

Det hjælper med at få optegnelser over den aktuelle måned i MySQL til rapportering og dataanalyse. Du kan bruge den til at få salgsdata for den aktuelle måned, antallet af tilmeldinger i den aktuelle måned og andre nyttige oplysninger. Sådan får du rækker af den aktuelle måned i MySQL.

Sådan får du optegnelser over den aktuelle måned i MySQL

Her er trinene til at få aktuelle månedsrekorder i MySQL. Vi vil også bruge det til at få nye kunder i måneden.

Lad os sige, at du har følgende tabel salg(ordre_dato, udsalg, ordrer) der indeholder dagligt antal ordrer og salgsbeløb.

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:Sådan importeres CSV til MySQL Workbench

Sådan får du salgsdata for den aktuelle måned i MySQL

Her er SQL-forespørgslen for at få optegnelser over den aktuelle måned 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 ovenstående forespørgsel bruger vi systemfunktionen now() for at få aktuel datotid. Så får vi aktuelle månedsrækker i MySQL ved at filtrere rækker, som har samme måned og år som aktuel datetime. MONTH() og YEAR() er indbyggede MySQL-funktioner til at få månedsnummer og årstal fra en given dato.

Bonus Læs:Sådan opretter du histogram i MySQL

Hvis din datokolonne, det vil sige ordre_date er indekseret, så er det tilrådeligt ikke at bruge nogen funktion på den. Ellers vil det tage lang tid at køre. I stedet kan du bruge følgende SQL-forespørgsel til at få optegnelser over den aktuelle måned 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ået optegnelser over den aktuelle måned i MySQL, kan du bruge et diagramværktøj til at plotte den i en flot graf som vist nedenfor og dele den med dit team. Her er en linjegraf lavet ved hjælp af Ubiq dashboard-software

Bonus Læs:Sådan beregnes konverteringsrate i MySQL

Sådan får du tilmeldinger og nye brugere i den aktuelle måned i MySQL

På samme måde kan du også få nye tilmeldinger og brugere i den aktuelle måned i MySQL. Lad os sige, at du har følgende tabel Users(user_id, date_joined) der indeholder tilmeldingsdata.

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

Her er SQL-forespørgslen for at få daglige nye tilmeldinger og brugere i den aktuelle måned 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 også bruge denne SQL-forespørgsel til at få antallet af brugere i en måned eller tælle nye brugere i sidste måned. Bare fjern date(date_joined) fra vælg klausul og fjern gruppe for klausul for at få det samlede antal.

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

Bonuslæser:Sådan udfyldes manglende datoer i MySQL

Når du har fået optegnelser over den aktuelle måned i MySQL, kan du bruge et rapporteringsværktøj til at plotte disse data på et søjlediagram eller dashboard og dele dem med dit team. Her er et eksempel på et søjlediagram, der viser daglige tilmeldinger i den aktuelle måned, oprettet ved hjælp af Ubiq.

Hvis du vil oprette diagrammer, dashboards og rapporter fra MySQL-databasen, kan du prøve Ubiq. Vi tilbyder en 14-dages gratis prøveperiode.

  1. SQL VÆLG IN

  2. MySQL:Sorter GROUP_CONCAT-værdier

  3. En praktisk brug af SQL COALESCE-funktionen

  4. Hvordan IKKE REGEXP virker i MySQL