sql >> データベース >  >> RDS >> Mysql

MySQLで先週のデータを取得する方法

    レポートと分析のために、MySQLで先週の行をフェッチする必要がある場合があります。 MySQLで先週のデータを取得する方法は次のとおりです。

    MySQLで先週のデータを取得する方法

    MySQLで先週のデータを取得する手順は次のとおりです。次のテーブルがあるとしますproduct_orders(id、order_date、amount)

    mysql> create table product_orders(id int, order_date date, amount int);
    
    mysql> insert into product_orders values(1,'2020-07-20',100),
         (2,'2020-07-21',250),
         (3,'2020-07-22',225),
         (4,'2020-07-23',150),
         (5,'2020-07-24',200),
         (6,'2020-07-25',180),
         (7,'2020-07-26',150),
         (8,'2020-07-27',200),
         (9,'2020-07-28',250),
         (10,'2020-07-29',300),
         (11,'2020-07-30',150),
         (12,'2020-07-31',200),
         (13,'2020-08-01',180),
         (14,'2020-08-02',200);
    
    mysql> select * from product_orders;
    +------+------------+--------+
    | id   | order_date | amount |
    +------+------------+--------+
    |    1 | 2020-07-20 |    100 |
    |    2 | 2020-07-21 |    250 |
    |    3 | 2020-07-22 |    225 |
    |    4 | 2020-07-23 |    150 |
    |    5 | 2020-07-24 |    200 |
    |    6 | 2020-07-25 |    180 |
    |    7 | 2020-07-26 |    150 |
    |    8 | 2020-07-27 |    200 |
    |    9 | 2020-07-28 |    250 |
    |   10 | 2020-07-29 |    300 |
    |   11 | 2020-07-30 |    150 |
    |   12 | 2020-07-31 |    200 |
    |   13 | 2020-08-01 |    180 |
    |   14 | 2020-08-02 |    200 |
    +------+------------+--------+
    

    ボーナスリード:MySQLコピーデータベース

    これが、MySQLで先週のデータを取得するためのSQLクエリです。

    mysql> select * from product_orders where week(order_date)=week(now())-1;
    +------+------------+--------+
    | id   | order_date | amount |
    +------+------------+--------+
    |    7 | 2020-07-26 |    150 |
    |    8 | 2020-07-27 |    200 |
    |    9 | 2020-07-28 |    250 |
    |   10 | 2020-07-29 |    300 |
    |   11 | 2020-07-30 |    150 |
    |   12 | 2020-07-31 |    200 |
    |   13 | 2020-08-01 |    180 |
    +------+------------+--------+
    

    上記のSQLクエリでは、WEEK()関数を使用して、 order_dateの週番号を取得します。 桁。 NOW()関数を使用して取得した、今日の日付の週番号より1少ない週番号のレコードのみを選択します。

    ボーナス読み取り:MySQL Insert into Select

    MySQLで過去7日間のデータを取得する方法

    場合によっては、過去7日間のレコードを取得する必要があります。 MySQLで過去7日間のデータを取得するためのSQLクエリは次のとおりです。

    mysql> select * from product_orders where order_date> now() -  interval 7 day;
    +------+------------+--------+
    | id   | order_date | amount |
    +------+------------+--------+
    |    9 | 2020-07-28 |    250 |
    |   10 | 2020-07-29 |    300 |
    |   11 | 2020-07-30 |    150 |
    |   12 | 2020-07-31 |    200 |
    |   13 | 2020-08-01 |    180 |
    |   14 | 2020-08-02 |    200 |
    +------+------------+--------+
    

    上記のクエリでは、 order_dateのレコードを選択します。 今日から7日後です。

    ボーナス読み取り:MySQL Select Top N Rows

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. ユーザーpostgresは、すべてのCPUを100%使用するプロセスを起動します

    2. SQLで別のテーブルから1つのテーブルを作成する方法

    3. DLL「OraOps10.dll」を読み込めません

    4. ポート5432がブロックされている場合のリモートサーバーからのpg_dumppostgresデータベース