sql >> Database >  >> RDS >> Mysql

Hoe records van de huidige maand in MySQL te krijgen

Het helpt om records van de huidige maand in MySQL te krijgen voor rapportage en gegevensanalyse. U kunt het gebruiken om verkoopgegevens voor de huidige maand, het aantal aanmeldingen in de huidige maand en andere nuttige informatie te krijgen. Hier leest u hoe u rijen van de huidige maand in MySQL kunt krijgen.

Hoe u records van de huidige maand in MySQL kunt krijgen

Hier zijn de stappen om de huidige maandrecords in MySQL te krijgen. We zullen het ook gebruiken om nieuwe klanten in de maand te krijgen.

Stel dat u de volgende tabel sales(order_date, sale, orders) . heeft dat het dagelijkse aantal bestellingen en het verkoopbedrag bevat.

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 lezen:CSV importeren in MySQL Workbench

Hoe u verkoopgegevens van de huidige maand in MySQL kunt krijgen

Hier is de SQL-query om records van de huidige maand in MySQL te krijgen

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

In de bovenstaande query gebruiken we de systeemfunctie now() om de huidige datetime te krijgen. Vervolgens krijgen we de huidige maandrijen in MySQL door rijen te filteren die dezelfde maand en hetzelfde jaar hebben als de huidige datetime. MAAND() en JAAR() zijn ingebouwde MySQL-functies om het maandnummer en het jaarnummer van een bepaalde datum te krijgen.

Bonus Lezen:Histogram maken in MySQL

Als uw datumkolom, dat wil zeggen, order_date geïndexeerd is, is het raadzaam er geen enkele functie op te gebruiken. Anders duurt het lang voordat het werkt. In plaats daarvan kunt u de volgende SQL-query gebruiken om records van de huidige maand in MySQL te krijgen.

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

Nadat u records van de huidige maand in MySQL hebt gekregen, kunt u een grafiektool gebruiken om deze in een mooie grafiek uit te zetten, zoals hieronder weergegeven, en deze met uw team te delen. Hier is een lijngrafiek gemaakt met Ubiq-dashboardsoftware

Bonus Lezen:Hoe de conversieratio in MySQL te berekenen

Aanmeldingen en nieuwe gebruikers krijgen in de huidige maand in MySQL

Op dezelfde manier kunt u in de huidige maand ook nieuwe aanmeldingen en gebruikers krijgen in MySQL. Stel dat u de volgende tabel Users(user_id, date_joined) heeft die aanmeldingsgegevens bevat.

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

Hier is de SQL-query om dagelijks nieuwe aanmeldingen en gebruikers in de huidige maand in MySQL te krijgen.

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

U kunt deze SQL-query ook gebruiken om het aantal gebruikers in een maand te krijgen of nieuwe gebruikers in de afgelopen maand te tellen. Verwijder gewoon date(date_joined) uit selecteer clausule en verwijder groep voor clausule om het totale aantal te krijgen.

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

Bonus lezen:ontbrekende datums in MySQL invullen

Nadat u records van de huidige maand in MySQL hebt gekregen, kunt u een rapportagetool gebruiken om deze gegevens in een staafdiagram of dashboard te plotten en met uw team te delen. Hier is een voorbeeld van een staafdiagram met dagelijkse aanmeldingen in de huidige maand, gemaakt met Ubiq.

Als u grafieken, dashboards en rapporten wilt maken vanuit de MySQL-database, kunt u Ubiq proberen. We bieden een gratis proefperiode van 14 dagen aan.

  1. MyBatis RowBounds beperkt de resultaten van zoekopdrachten niet

  2. Hoe u alle gebeurtenissen van een tekenreeks kunt vervangen door een andere tekenreeks in SQL Server - REPLACE()

  3. Een wachtwoord uit een database verwijderen in Access 2016

  4. Een null-variabele doorgeven aan een SQL Stored Procedure vanuit C#.net-code