各顧客の有効期限が最も早いアイテムを取得するためのクエリを実行する必要があります。
次の製品テーブルがあります。
PRODUCT
|ID|NAME |EXPIRE_DATE|CUSTOMER_ID
1 |p1 |2013-12-31 |1
2 |p2 |2014-12-31 |1
3 |p3 |2013-11-30 |2
そして、私は次の結果を得たいと思います:
|ID|EXPIRE_DATE|CUSTOMER_ID
1 |2013-12-31 |1
3 |2013-11-30 |2
Mysql では、次のようなクエリがあります。
SELECT ID,min(EXPIRE_DATE),CUSTOMER_ID
FROM PRODUCT
GROUP BY CUSTOMER_ID
しかし、私は HyperSQL を使用していて、この結果を得ることができません。
HSQLDB を使用すると、次のエラーが発生しますjava.sql.SQLSyntaxErrorException: expression not in aggregate or GROUP BY columns: PRODUCT.ID
。
HyperSQLGROUP BY CUSTOMER_ID,ID
で、元のテーブルと同じエントリを取得するように、クエリの最後の行を変更します。
HSQLDB を使用して、各顧客の有効期限が最も早い製品を計算するにはどうすればよいですか??