当前位置: 首页 > 面试题库 >

带Desc / Asc排序的Order By子句的案例声明

陈瀚玥
2023-03-14
问题内容
SELECT *
FROM
    TableName
WHERE
ORDER BY 
    CASE @OrderByColumn
    WHEN 1 THEN Forename
    WHEN 2 THEN Surname
    END;

我有一条类似于上面的语句,它使我可以动态选择如何对查询结果进行排序。但是,如何指定要订购DESC的姓氏和姓氏ASC


问题答案:

您需要将您的内容ORDER BY分为两部分:

SELECT *
FROM
    TableName
WHERE
ORDER BY 
    (CASE @OrderByColumn
    WHEN 1 THEN Forename
    END) DESC -- Forename --> descending
,   (CASE @OrderByColumn
    WHEN 2 THEN Surname
    END) ASC -- Surname --> ascending


 类似资料:
  • 问题内容: 我想使查询中的排序成为条件排序,因此,如果满足条件,则应通过降序排序 例如: 问题答案: 请勿更改或,更改要排序的事物的符号: OP问: 伙计们,我不是SQL Expert,请向我解释一下id和-id的含义,它可以控制排序方向吗? id就是您要作为排序依据的任何列;-id只是对它的取反,id * -1。如果要按不止一列进行排序,则需要取反每一列: 如果按非数字列排序,则需要查找使该列为

  • 问题内容: 桌子: 的PHP HTML结果: 任何人都注意到桌上的结果。时代是不正确的顺序? 我改变了另一种方式与ASC / DESC,仍然显示最后一个id_timeslot的时间吗? 预期结果: 问题答案: 您正在对记录进行分组,因此每种情况下您只会看到最后一次。 尝试使用

  • 问题内容: 在发现了惊人的发现之后,我再次陷入了困境。 问题是我有一个形式的字典,我需要按其整数值的降序对其进行排序, 但是 如果两个元素的值相同,则按键的升序排列。 一个使它更清楚的例子: 经过研究后,我得出以下结论: 这是因为它对值和键都进行了反向排序。我需要不撤消的钥匙。 问题答案: 就像是

  • 问题内容: 我了解我可以按如下顺序在sql查询中按顺序使用变量: 但是我也该如何在asc和desc部分中使用变量? 问题答案: 没有每个选项,它的子句例如:

  • 问题内容: 在MS SQL Server 2008 R2中编写存储过程,我想避免使用DSQL … 我希望有条件的排序方法(ASC或DESC)。 现在,对于一个数字列,我将只使用一个case语句并取反该值以模拟ASC或DESC …即: 用alpha列执行此操作的合适方法是什么? 编辑:我想到了一个聪明的方法,但似乎效率很低…我可以使用自动编号将有序的alpha列插入到临时表中,然后使用上述方法按自动

  • 问题内容: 我只是想按ID对评论进行排序,但是这样做并不幸运。无法弄清楚该怎么办,因为这使我感到困惑: 你们碰巧知道我如何通过DESC中的ID来订购评论吗?谢谢! 问题答案: 首先,您要进行两次相同的操作。这是不必要的,因为您可以计算行数并从单个查询中获取数据。除此之外,用注释表的唯一ID替换您,即可设置好。替换为以颠倒排序顺序。