当前位置: 首页 > 知识库问答 >
问题:

同一列上具有不同条件的多个排序

尹小云
2023-03-14

我想代表其他列条件以不同的顺序排列我的列。

有一张桌子看起来像这样:

ID    Date         Status
--------------------------
1  - 16-JUL-2015  - 1
2  - 15-JUL-2015  - 1
3  - 11-JUL-2015  - 0
4  - 12-JUL-2015  - 0

如果状态为1,则按日期ASC排序,状态为0按日期DESC排序

寻找以下结果

15-JUL-2015
16-JUL-2015
12-JUL-2015
11-JUL-2015

有没有办法点这个。哪儿也找不到

谢谢

共有1个答案

傅经业
2023-03-14

您可以使用以下查询:

SELECT *
FROM mytable
ORDER BY Status DESC,
         CASE 
            WHEN Status = 1 THEN DATEDIFF(Date, '1900-01-01')
            ELSE DATEDIFF('1900-01-01', Date) 
         END
 类似资料:
  • 我有两个具有相同id的MDM配置文件,我想在同一设备上安装来自不同环境的两个不同应用程序。当我启用设备时,它将从设备中删除以前安装的应用程序。启用另一个MDM配置文件时,是否可以保存我已安装的应用程序?

  • 有什么想法吗? 多谢了。

  • 我有一个案例,需要找出不同版本的表的同一字段之间的差异。 例如: 我有一个名为BankAccount的表,其字段如下 编号、余额、日期等。 现在我想要实现的基本上是在这个表上针对两个不同的日期运行一个select,并找出日期1和日期2的balance字段值之间的差异。 更像:。 我知道,我可以使用其中一个作为分离条件来运行两个选择,这样我至少可以得到两个日期之间的公共记录。我的问题是发现差异和使用

  • 问题内容: 我有一个班级用户。用户可以与许多其他用户成为朋友。这种关系是相互的。如果A是B的朋友,那么B是A的朋友。我也希望每个关系都存储其他数据,例如两个用户成为朋友的日期。因此,这是同一表上具有多列的多对多关系。我知道应该创建一个中产阶级友谊(包含两个用户ID和日期列)。但是我在将其与Hibernate映射时做得不够。使我停滞不前的是映射到了同一张表。如果多对多关系是在两个不同的表之间,则可以

  • 我最近开始学习Spring和spring-amqp,所以这个问题可能看起来很基本,所以请原谅我。 null 或者有一种方法可以Spring加载所有我的队列配置类,然后只使用如下所示的对象: 那么,如何在不执行每次的情况下获取确切队列的amqpTemplate呢? 每次请求到达我的服务时都做新的AnnotationConfigApplicationContext有什么害处?[我想为每个请求创建一个新

  • 问题内容: 我正在寻找一种“更好”的方式来执行查询,在该查询中,我想向单个玩家显示他之前玩过的游戏以及与每个此类对手相关的获胜记录。 以下是涉及的表格,精简如下: 因此,约翰对玛丽的战绩是2胜1负。vs鲍勃1胜0负; 和爱丽丝的3胜2负。 我正在使用Postgres 9.4。我脑海中有些东西告诉我要考虑一下,但是我很难理解这样的“形状”。 以下是我当前正在使用的查询,但是有些“感觉不到”。请帮助我