MySQL:基于条件的值

Tim*_*per 6 mysql sql conditional

我有一个MySQL查询,我希望它返回一个基于以下的伪列:

  • 如果columnW不等于0,则应为1 BUT
  • 如果columnX不等于0,则应为2 BUT
  • 如果columnY不等于0,则应为3 BUT
  • 如果columnZ不等于0,则应为4

希望这是有道理的.我的SQL还不够好,无法解决这个问题.

Mar*_*ers 9

尝试使用案例表达式:

SELECT CASE WHEN columnZ <> 0 THEN 4
            WHEN columnY <> 0 THEN 3
            WHEN columnX <> 0 THEN 2
            WHEN columnW <> 0 THEN 1
            ELSE 0
       END AS your_alias_name
FROM ...
Run Code Online (Sandbox Code Playgroud)