Nogle gange kan det være nødvendigt at hente aktuelle ugeposter eller hente denne uges poster til rapportering og analyse. I denne artikel vil vi se på, hvordan du får aktuelle ugedata i MySQL.
Sådan får du aktuelle ugedata i MySQL
Lad os sige, at du har følgende tabel salg(id, ordre_dato, beløb )
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 | +------+------------+--------+
Sådan får du optegnelser over den aktuelle uge i MySQL
Det er meget nemt at få aktuelle ugedata i MySQL. Her er SQL-forespørgslen for at få optegnelser over den aktuelle uge 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 ovenstående forespørgsel bruger vi now() funktion for at få nuværende dato og uge() funktion for at få ugenummer af datoværdier. Så vi vælger rækker, hvis ordre_datos ugenummer er det samme som ugenummeret for dagens dag.
Sådan får du data om de sidste 7 dage i MySQL
Nogle gange kan du også have brug for at få de seneste 7 dages data i MySQL. Her er SQL-forespørgslen for at få data fra de sidste 7 dage.
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 ovenstående SQL-forespørgsel vælger vi rækker, hvis ordre_date falder efter de sidste 7 dage. Vi bruger INTERVAL søgeord til at trække 1 uge fra nuværende dato.
Har du brug for et rapporteringsværktøj til MySQL? Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!