0
私は、Springを使ってHibernate(JPAを使用)を使ってクエリを実行しています。JPAとMySQL:句でグループの開始日と終了日が揃っているかどうかを知る
私のテーブル次のデータがあります。
------------------------------------------------
| building_id | cost | start_date | end_date |
------------------------------------------------
| 1 | 23 | 2015-03-02 | 2015-04-05 |
------------------------------------------------
| 1 | 25 | 2015-04-02 | 2015-05-05 |
------------------------------------------------
| 2 | 23 | 2015-03-01 | 2015-04-09 |
------------------------------------------------
| 2 | 25 | 2015-04-02 | 2015-05-05 |
------------------------------------------------
マイ照会する:各建物
- サムアップはEND_DATEのSTART_DATEの最小値と最大値を取得します
- start_dateとend_dateが同じかどうかは、建物のグループごとに分かります。あなたは上記のクエリを使用して見ることができるように私は私の最初の2つの要件を満たすことができ
SELECT sum(ct.cost), min(ct.startDate), max(ct.endDate) from ConcernedTable ct where ct.buildingId in :buildingIds AND ct.startDate >= :startDate and ct.endDate <= :endDate and group by YEAR(ct.endDate), MONTH(ct.endDate)
:これまでのところ、私は次のクエリを書かれている
。しかし、建物の開始日と終了日が同じかどうかをどうやって取得するのか分かりません。
誰かお手伝いできますか?
を示し、しかし、START_DATEが同じ日付を持っていることが起こるかもしれないが、END_DATEがない場合は、チェックです。その場合、クエリは正しい結果を返しません。 – Raj
説明します。あなたはスタートデートと終了日について何が必要ですか?あなたからの質問は、2つの日付が同じであることを望ましくないようですね...期間は月ですか、別ですか? – scaisEdge
開始日と終了日が次のような3つの建物を考えてみましょう: 1. 2015-03-02 | 2015-04-05 2. 2015-03-02 | 2015-04-05 3,2015-03-03 | 2015-04-06 建物1と2の開始日と終了日は同じですが、建物3では異なる開始日と終了日が設定されています。この場合、日付の整列の結果は偽でなければなりません – Raj