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

毎日12:00:00から18:00:00までの間隔で時間別にレコードを選択します

    ここには2つの問題があります:

    1. where句で列エイリアスを参照することはできません。代わりに、where句で計算を繰り返す必要があります
    2. TIME()を使用します データ時間の時間部分を抽出する関数

    これらの2つの問題に対処すると、次のようになります。

    select
        f.fly_reg,
        TIME(f.start_tid) AS st,
        f.start_hight 
        FROM vbsk_dk_02.fab_master_flyvedata f 
    where TIME(f.start_tid) between '12:00:00' AND '18:00:00'
    

    オプションとして、selectで実際に時間値が必要ない場合は、それを削除してwhere句に含めることができます。また、HOUR()を使用することもできます それがより適している場合は機能します。これらの2つの変更により、クエリは次のように簡略化されます。

    select *
    FROM vbsk_dk_02.fab_master_flyvedata
    where HOUR(f.start_tid) between 12 and 18
    

    これはとてもきれいです:)



    1. MySQLで過去7日間のレコードを取得する方法

    2. 制限と大きなオフセットを使用したMySQLクエリは永久に使用されます

    3. 多くのオプションパラメータを処理するJavaSpringREST API

    4. PostgreSQLデータベースのすべてのインデックス名、列名、およびそのテーブル名を一覧表示します