【问题标题】:MySQL: Conditional Order ByMySQL:条件排序依据
【发布时间】:2020-04-18 19:13:16
【问题描述】:

我的“员工”表中有一个名为 first_name 的列。

我想按 DESC 如果 COUNT(first_name) 是 奇数 数字来选择和排序这些名称,或者选择并排序这些名称ASC 如果 COUNT(first_name) 是一个偶数

类似的东西写在下面

SELECT first_name
FROM employee
ORDER BY (first_name DESC if COUNT (first_name) % 2 != 0 ELSE first_name ASC);

【问题讨论】:

  • 帮助我们帮助您 - 分享一些示例数据以及您想要获得的结果。

标签: mysql


【解决方案1】:

你必须强制mysql选择一个选项

喜欢

SELECT first_name
FROM employee
ORDER BY (CASE WHEN CHAR_LENGTH(first_name) % 2 <> 0 THEN first_name END) ASC,
         (CASE WHEN CHAR_LENGTH(first_name) % 2 =  0 THEN first_name END) DESC

只能是其中之一。

【讨论】:

    猜你喜欢
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    相关资源
    最近更新 更多