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

Jak získat aktuální týdenní data v MySQL

Někdy možná budete muset získat záznamy z aktuálního týdne nebo načíst záznamy z tohoto týdne pro hlášení a analýzu. V tomto článku se podíváme na to, jak získat aktuální týdenní data v MySQL.


Jak získat data aktuálního týdne v MySQL

Řekněme, že máte následující tabulku prodej(id, datum_objednávky, částka )

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


Jak získat záznamy aktuálního týdne v MySQL

Je velmi snadné získat aktuální týdenní data v MySQL. Zde je SQL dotaz pro získání záznamů aktuálního týdne v 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 |
 +------+------------+--------+

Ve výše uvedeném dotazu používáme now() funkce pro získání aktuálního data a week() funkce pro získání týdenních hodnot data. Vybíráme tedy řádky, jejichž číslo týdne order_date je stejné jako číslo týdne dnešního dne.


Jak získat data za posledních 7 dní v MySQL

Někdy můžete také potřebovat získat data za posledních 7 dní v MySQL. Zde je dotaz SQL pro získání dat za posledních 7 dní.

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

Ve výše uvedeném SQL dotazu vybíráme řádky, jejichž datum_objednávky spadne po posledních 7 dnech. Klíčové slovo INTERVAL používáme k odečtení 1 týdne od aktuálního data.

Potřebujete nástroj pro vytváření sestav pro MySQL? 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. Jak odstranit soubory v SQL Server 2019

  2. ALTER TABLE v MySQL:Přítel nebo nepřítel?

  3. Jak dosáhnu toho, aby instalace gem fungovala na OS X Lion s Ruby 1.8.7, aniž by seg chyboval?

  4. Nepoužívejte sp_depends v SQL Server (je zastaralý)