Někdy můžete potřebovat získat záznamy za posledních 7 dní nebo získat řádky z posledních 7 dní v MySQL. V MySQL můžete snadno získat záznamy za posledních 7 dní, i když pro to není žádná funkce. Zde je dotaz SQL pro výběr záznamů za posledních 7 dní.
Jak získat záznamy za posledních 7 dní v MySQL
Zde je SQL pro získání záznamů za posledních 7 dní v MySQL. Řekněme, že máte následující tabulku prodej(datum_objednávky,výprodej) který obsahuje denní údaje o prodeji.
mysql> create table sales(order_date date,sale int);
mysql> insert into sales(order_date, sale)
values('2020-06-01',237),
('2020-06-02',230),
('2020-06-03',220),
('2020-06-04',210),
('2020-06-05',200),
('2020-06-06',260),
('2020-06-07',270),
('2020-06-08',240),
('2020-06-09',290),
('2020-06-10',230),
('2020-06-11',210);
mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-01 | 237 |
| 2020-06-02 | 230 |
| 2020-06-03 | 220 |
| 2020-06-04 | 210 |
| 2020-06-05 | 200 |
| 2020-06-06 | 260 |
| 2020-06-07 | 270 |
| 2020-06-08 | 240 |
| 2020-06-09 | 290 |
| 2020-06-10 | 230 |
| 2020-06-11 | 210 |
+------------+------+
Bonusové čtení:Jak získat záznamy za posledních 30 dní
Jak získat záznamy za posledních 7 dní
Zde je dotaz SQL pro získání záznamů za posledních 7 dní v MySQL.
mysql> select * from sales
where order_date > now() - INTERVAL 7 day;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-05 | 200 |
| 2020-06-06 | 260 |
| 2020-06-07 | 270 |
| 2020-06-08 | 240 |
| 2020-06-09 | 290 |
| 2020-06-10 | 230 |
| 2020-06-11 | 210 |
+------------+------+
Ve výše uvedeném dotazu vybereme ty záznamy, kde je datum_objednávky spadne po uplynulém intervalu 7 dnů. Používáme systémovou funkci now() k získání nejnovější hodnoty data a času a klauzuli INTERVAL k výpočtu data 7 dní v minulosti.
Můžete také použít aktuální_datum místo now()
mysql> select * from sales
where order_date > current_date - interval 7 day;
Bonusové čtení:Jak získat záznamy mezi 2 daty v MySQL
Jak získat údaje za poslední 1 týden
Zde je návod, jak získat záznam za poslední 1 týden v MySQL
mysql> select * from sales
where order_date > now() - interval 1 week;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-05 | 200 |
| 2020-06-06 | 260 |
| 2020-06-07 | 270 |
| 2020-06-08 | 240 |
| 2020-06-09 | 290 |
| 2020-06-10 | 230 |
| 2020-06-11 | 210 |
+------------+------+
Bonusové čtení:Jak získat záznamy za posledních 24 hodin v MySQL
Ve výše uvedeném dotazu vybíráme řádky, kde je datum_objednávky spadne po intervalu uplynulého 1 týdne. Pro klauzuli INTERVAL používáme argument „1 týden“ namísto použití „7 dní“.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!