加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 具有Desc / Asc排序的Order By子句的Case语句

发布时间:2021-05-26 23:44:56 所属栏目:MsSql教程 来源:网络整理
导读:SELECT *FROM TableNameWHEREORDER BY CASE @OrderByColumn WHEN 1 THEN Forename WHEN 2 THEN Surname END; 我有一个上面的声明,让我动态选择如何订购查询的结果.但是,如何指定我想要Forename命令DESC和Surname ASC? 解决方法 您需要将ORDER BY拆分为两

SELECT *
FROM
    TableName
WHERE
ORDER BY 
    CASE @OrderByColumn
    WHEN 1 THEN Forename
    WHEN 2 THEN Surname
    END;

我有一个上面的声明,让我动态选择如何订购查询的结果.但是,如何指定我想要Forename命令DESC和Surname 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

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读