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

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

    過去1時間のレコードを取得したり、レポートと分析のために過去1時間の行を取得したりすると便利です。この記事では、MySQLで過去1時間のデータを取得する方法を見ていきます。


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

    INTERVAL句を使用すると、MySQLで過去1時間のデータを選択するのは非常に簡単です。次のテーブルがあるとしますsales(id、order_date、amount)

    mysql> create table sales(
             id int, 
             order_date datetime, 
             amount int);
    
    mysql> insert into sales(id, order_date, amount)
          values(1, '2021-02-02 08:15:00',250),
          (2, '2021-02-02 08:30:00',150),
          (3, '2021-02-02 08:55:00',200),
          (4, '2021-02-02 09:15:00',125),
          (5, '2021-02-02 09:30:00',200),
          (6, '2021-02-02 09:45:00',250);
    
     mysql> select * from sales;
     +------+---------------------+--------+
     | id   | order_date          | amount |
     +------+---------------------+--------+
     |    1 | 2021-02-02 08:15:00 |    250 |
     |    2 | 2021-02-02 08:30:00 |    150 |
     |    3 | 2021-02-02 08:55:00 |    200 |
     |    4 | 2021-02-02 09:15:00 |    125 |
     |    5 | 2021-02-02 09:30:00 |    200 |
     |    6 | 2021-02-02 09:45:00 |    250 |
     +------+---------------------+--------+

    now()を使用して最新の時刻を表示するSQLは次のとおりです。 機能。

    mysql> select now();
     +---------------------+
     | now()               |
     +---------------------+
     | 2021-02-02 09:48:27 |
     +---------------------+

    これがMySQLで過去1時間のデータを取得するためのSQLです。

    mysql> select * 
           from sales 
           where order_date > now() - interval 1 hour;
     +------+---------------------+--------+
     | id   | order_date          | amount |
     +------+---------------------+--------+
     |    3 | 2021-02-02 08:55:00 |    200 |
     |    4 | 2021-02-02 09:15:00 |    125 |
     |    5 | 2021-02-02 09:30:00 |    200 |
     |    6 | 2021-02-02 09:45:00 |    250 |
     +------+---------------------+--------+

    上記のクエリでは、 order_dateの行のみを選択します。 過去1時間の間隔内にあります。 INTERVAL句を使用して、 now()を使用して取得した現在時刻から1時間間隔を簡単に差し引くことができます。 機能。


    MySQLで現在の時間データを取得する方法

    MySQLで現在の時間の記録を取得する必要がある場合があります。これが現在の時間データを取得するためのSQLクエリです。

    mysql> select * from sales 
           where date(order_date)=date(now()) 
            and hour(order_date)=hour(now());
     +------+---------------------+--------+
     | id   | order_date          | amount |
     +------+---------------------+--------+
     |    4 | 2021-02-02 09:15:00 |    250 |
     |    5 | 2021-02-02 09:30:00 |    250 |
     |    6 | 2021-02-02 09:45:00 |    250 |
     +------+---------------------+--------+

    上記のSQLクエリでは、 order_dateのレコードのみを選択します。 列のDATEとHOURの値は、現在の日時の値と同じです。 DATE関数とHOUR関数を使用して、日時の値から日付と時刻の値を取得します。

    MySQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!

    1. サーバーに接続できません-ネットワーク関連またはインスタンス固有のエラー

    2. postgresでのcreatedbの問題

    3. 空間データベースの作成中にエラーが発生しました。エラー:ライブラリ/usr/pgsql-9.1/lib/rtpostgis-2.0.soを読み込めませんでした

    4. Access2016で分割データベースを暗号化する方法