Ibland kan du behöva skaffa aktuella veckoposter eller hämta veckans poster för rapportering och analys. I den här artikeln kommer vi att titta på hur man får aktuell veckodata i MySQL.
Hur får du aktuell veckodata i MySQL
Låt oss säga att du har följande tabell försäljning(id, order_date, summa )
mysql> create table sales(id int, order_date date, amount int);
mysql> insert into sales(id, order_date, amount)
values(1, '2021-01-24',250),
(2, '2021-01-25',250),
(3, '2021-01-26',250),
(4, '2021-01-27',250),
(5, '2021-01-28',250),
(6, '2021-01-29',250),
(7, '2021-01-30',250),
(8, '2021-01-31',250),
(9, '2021-02-01',250);
mysql> select * from sales;
+------+------------+--------+
| id | order_date | amount |
+------+------------+--------+
| 1 | 2021-01-24 | 250 |
| 2 | 2021-01-25 | 250 |
| 3 | 2021-01-26 | 250 |
| 4 | 2021-01-27 | 250 |
| 5 | 2021-01-28 | 250 |
| 6 | 2021-01-29 | 250 |
| 7 | 2021-01-30 | 250 |
| 8 | 2021-01-31 | 250 |
| 9 | 2021-02-01 | 250 |
+------+------------+--------+
Hur får du uppgifter om den aktuella veckan i MySQL
Det är väldigt enkelt att få aktuell veckodata i MySQL. Här är SQL-frågan för att få uppgifter om aktuell vecka i MySQL.
mysql> select *
from sales
where week(order_date)=week(now());
+------+------------+--------+
| id | order_date | amount |
+------+------------+--------+
| 8 | 2021-01-31 | 250 |
| 9 | 2021-02-01 | 250 |
+------+------------+--------+ I ovanstående fråga använder vi now() funktion för att få aktuellt datum och week() funktion för att få veckonummer för datumvärden. Så vi väljer rader vars order_dates veckonummer är detsamma som veckonummer för dagens dag.
Hur får du data från de senaste 7 dagarna i MySQL
Ibland kan du också behöva få senaste 7 dagars data i MySQL. Här är SQL-frågan för att få data från de senaste 7 dagarna.
mysql> select *
from sales
where order_date> now() - interval 1 week;
+------+------------+--------+
| id | order_date | amount |
+------+------------+--------+
| 3 | 2021-01-26 | 250 |
| 4 | 2021-01-27 | 250 |
| 5 | 2021-01-28 | 250 |
| 6 | 2021-01-29 | 250 |
| 7 | 2021-01-30 | 250 |
| 8 | 2021-01-31 | 250 |
| 9 | 2021-02-01 | 250 |
+------+------------+--------+ I ovanstående SQL-fråga väljer vi rader vars order_datum faller efter de senaste 7 dagarna. Vi använder nyckelordet INTERVAL för att subtrahera 1 vecka från dagens datum.
Behöver du ett rapporteringsverktyg för MySQL? Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!