【发布时间】:2012-09-17 23:02:31
【问题描述】:
我正在使用 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 的小组排在第二位(请注意,Peter 小组的日期“09-14”高于 Mary 小组的一个日期“09-12”但是,Peter 小组排在 Mary 小组之后,因为所有东西都应该由组的最近日期。
我已经尝试了我所知道的所有事情,但没有成功。我得到的最接近的是:
Select date_created, buyer_name
From ORDERS
Order By buyer_name,date_created Desc;
但是,这些组不按最近的组日期排序。
我应该在我的代码中这样做还是有更好的方法?
【问题讨论】:
标签: sql group-by sql-order-by derby