sql >> Databáze >  >> RDS >> Mysql

Jak získat záznamy za posledních 7 dní v MySQL

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!

  1. Tabulka chyb Mysql 1050 již existuje, i když ve skutečnosti neexistuje

  2. Volání uložené funkce (která vrací pole uživatelem definovaného typu) v oracle přes odkaz na databázi

  3. Zakázat ONLY_FULL_GROUP_BY

  4. Drag and Drop v MS Access a podmíněné třídění