Derby データベースを使用しています。
次のようなテーブルがあります。
TB_ORDERS
BUYER_NAME DATE_CREATED OTHER_COLLUMS ......
---------------------------------------------
DAVID 2012-09-01 ----
PETER 2012-09-14 ----
DAVID 2012-09-05 ----
PETER 2012-09-02 ----
DAVID 2012-08-15 ----
MARY 2012-09-02 ----
MARY 2012-09-15 ----
次のように、BUYER_NAME でグループ化された結果を取得しようとしています。各グループは DATE_CREATED で並べ替えられ、最後にすべてがグループの最新の日付で並べ替えられます。
MARY 2012-09-15
MARY 2012-09-12
PETER 2012-09-14
PETER 2012-09-02
DAVID 2012-09-05
DAVID 2012-09-01
DAVID 2012-08-15
ご覧のとおり、Mary's Group には最新の date_created があるため、一番上に配置されています。次に、Peter のグループを 2 位にします (Peter のグループの日付は「09-14」で、Mary のグループの「09-12」よりも 1 つ上の日付であることに注意してください。ただし、Peter のグループは Mary のグループの後に配置されます。グループの最新の日付。
私が知っていることはすべて試しましたが、成功しませんでした。私が得た最も近いものは次のとおりです。
Select date_created, buyer_name
From ORDERS
Order By buyer_name,date_created Desc;
ただし、グループは最新のグループ日付順ではありません。
コードでそれを行う必要がありますか、それともより良い方法がありますか?