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

Oracle-過去1年間のデータを取得(動的)

    sysdate - interval '1' yearを使用できます 1年前の今日の日付を表す:

    SELECT userID, COUNT(userID) AS count
    FROM BookingTable 
    WHERE Timebooked BETWEEN SYSDATE - INTERVAL '1' year AND SYSDATE
    GROUP BY userID
    HAVING COUNT(userID) > 2
    

    @Wernfriedが以下で正しく指摘しているように、上記はうるう年の2月29日に失敗します。代わりに、次の回避策を使用してください:

    WHERE Timebooked BETWEEN ADD_MONTHS(SYSDATE, -12) AND SYSDATE
    



    1. PreparedStatement、CallableStatement、およびパフォーマンスに関する考慮事項

    2. テーブルをピボットして、n個の順序付けられた時系列を表示します

    3. パート2:MariaDBサーバーとTensorFlowを使用した画像分類–チュートリアル

    4. Oracle 11g SQLでサブクエリにエイリアスを与える方法はありますか?