我有一个客户给我的一个奇怪的问题。
他有一个数据列表,括号之间的日期如下:
Foo (14/08/2012)
Bar (15/08/2012)
Bar (16/09/2012)
Xyz (20/10/2012)
但是,他希望列表显示如下:
Foo (14/08/2012)
Bar (16/09/2012)
Bar (15/08/2012)
Foot (20/10/2012)
(请注意,第二个 Bar 已上移一位)
因此,其背后的逻辑是,列表必须按日期升序排序,除非两行具有相同的名称('Bar')。如果它们具有相同的名称,则必须以 LATEST 日期在顶部进行排序,同时保持其他排序顺序。
这甚至有可能吗?我尝试了很多ORDER BY
子句,但找不到合适的子句。有人有想法吗?
我应该指定此数据来自 sql server 数据库中的表(名称和日期位于两个不同的列中)。所以我正在寻找一个可以进行我想要的排序的 SQL 查询。
(我已经把这个例子简化了很多,所以如果你需要更多的上下文,不要犹豫,问)