SQL中的条件更新

Car*_*ine 1 mysql sql sqlite

我想在我的查询中有条件的结果.我有一个名为co1的列.我怎样才能得到

15 when c1 > 50
2  when c1 > 20
0 otherwise
Run Code Online (Sandbox Code Playgroud)

如果我使用

CASE WHEN (co1>50) THEN 15 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)

但是当我添加第3个子句时,MySQL会返回错误

CASE WHEN (co1>50) THEN 15 ELSE  WHEN (co1>20) THEN 2 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)

第二种情况有什么问题?提前致谢

Ada*_*son 6

ELSE应该只在最后一个条款中.用这个:

CASE WHEN (co1>50) THEN 15 WHEN (co1>20) THEN 2 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)