我正在使用 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,因此它位于顶部。然后我们将彼得的小组排在第二位(请注意,彼得小组的日期“09-14”高于玛丽小组的一个日期“09-12”但是,彼得小组放在玛丽小组之后,因为每件事都应该由组的最近日期。
我已经尝试了我所知道的所有事情,但没有成功。我得到的最接近的是:
Select date_created, buyer_name
From ORDERS
Order By buyer_name,date_created Desc;
但是,这些组不按最近的组日期排序。
我应该在我的代码中这样做还是有更好的方法?