繁体   English   中英

如何在MS Access SQL中按最大多个字段排序

[英]How to order by max of multiple fields in MS Access SQL

我有一个表,其中每个记录包含3个字段以及其他数据,这些字段是日期(其中一些可能为null)。 我希望能够按在3个日期字段中的任何一个中找到的最大日期按降序对我的结果进行排序。 我发现这个答案MySQL的,这正是我想做的事情,但似乎功能提到那里访问不存在。

如果我的数据是美国日期格式,请使用

id    date1       date2       date3
------------------------------------
 1   1/1/2001   1/2/2001     10/3/2001
 2   7/1/2001   1/2/2002     1/8/2001
 3   1/18/2001  6/2/2001     1/3/2003
 4   12/1/2001  5/4/2001     8/9/2001

我想回来

id    date1       date2       date3
------------------------------------
 3   1/18/2001  6/2/2001     1/3/2003
 2   7/1/2001   1/2/2002     1/8/2001
 4   12/1/2001  5/4/2001     8/9/2001
 1   1/1/2001   1/2/2001     10/3/2001

如何创建我的ORDER BY子句以我想要的方式获得此顺序?

不幸的是,MS Access没有提供least()greatest() 您可以用蛮力方式做到这一点:

order by iif(date1 > date2 and date1 > date3, date1,
             iif(date2 > date3, date2, date3)
            )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM