加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-05-25 17:24:57 所属栏目: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

(编辑:西双版纳站长网)

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

    热点阅读