SQL order by DATE DESC + group on other Column

SQL order by DATE DESC + group on other Column

我尝试了很多不同的分组和排序语法,但我真的很难得到我需要的东西。

我正在尝试按 DATE DESC 排序,但我也希望项目保持在一起(无论项目属于哪个日期顺序)

这是我目前正在处理的数据。

ACCOUNT PROJECT DATE
P050    D       2015-07-23
P057    C       2015-04-30
P057    C       2015-05-29
S001    A       2015-05-30
S001    A       2015-06-30
T004    B       2015-06-30
T004    B       2015-04-30
T004    B       2015-06-30
S001    A       2015-07-31
T004    B       2015-08-10
T004    B       2015-01-19
S001    A       2015-07-23
P057    C       2015-06-29

您可以计算每个项目的最大日期,然后将其加入原始 table。然后您可以先按最大(或最小)日期排序,然后是项目,然后是特定的 activity:

select t.*
from table t join
     (select project, max(date) as maxd
      from table
      group by project
     ) tt
     on t.project = tt.project
order by tt.maxd desc, tt.project, t.date desc;