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

オブジェクトをバケットに並べ替える方法を、有効なJPQL式として定式化できますか?

    まず、startDateの差を計算するJPAの方法が必要です。 およびpageDate それぞれのユニットで、データベースに非常に依存しているため、定式化がやや困難です。最終的には、いくつかのカスタム関数が必要になるか、非常に複雑なJPQLクエリを作成する必要があります。

    PostgreSQLで2つの日付の間の日数を計算するのは、date_part('day', t2 - t1)を実行するのと同じくらい簡単です。 。すでに必要な時間については、date_part('day', t2 - t1) * 24 + date_part('hour', t2 - t1) および分date_part('day', t2 - t1) * 24 * 60 + date_part('hour', t2 - t1) * 60 + date_part('minute', t2 - t1)

    これらのデータベース関数をJPQLで使用するには、FUNCTIONを使用できます。 FUNCTION('date_part', 'day', :startDate - pageDate)のような構文 。

    最終的には、このような式でグループ化し、次のようにIDでカウントします

    SELECT COUNT(o.id) FROM MyObject o GROUP BY FUNCTION('date_part', 'day', :startDate - o.pageDate)




    1. PDFファイルからテキストを取得してDBに保存する方法

    2. SQL Serverクエリの用語集—DBAのスティックシフト

    3. Oracleで数値を小数点以下2桁にフォーマットする3つの方法

    4. mySQLINSERTを使用したコマンド実行中に致命的なエラーが発生しました