Mysql 尝试使用CASE语句增加以下列的值
这是我编写的代码,但是当我执行它时抛出错误的语法错误,我能知道我犯了什么错误吗,谢谢Mysql 尝试使用CASE语句增加以下列的值,mysql,sql,database,Mysql,Sql,Database,这是我编写的代码,但是当我执行它时抛出错误的语法错误,我能知道我犯了什么错误吗,谢谢 SELECT CASE WHEN RATING = 'VERY_POOR' THEN 1 ELSE 0 END 'VERYPOOR', WHEN RATING = 'POOR' THEN 1 ELSE 0 END 'POOR', WHEN RATING = 'AVERAGE' THEN 1 ELSE 0 END 'AVERAGE', WHEN RATING = 'GOO
SELECT CASE
WHEN RATING = 'VERY_POOR' THEN 1 ELSE 0
END 'VERYPOOR',
WHEN RATING = 'POOR' THEN 1 ELSE 0
END 'POOR',
WHEN RATING = 'AVERAGE' THEN 1 ELSE 0
END 'AVERAGE',
WHEN RATING = 'GOOD' THEN 1 ELSE 0
END 'GOOD',
WHEN RATING = 'VERY_GOOD' THEN 1 ELSE 0
END 'VERYGOOD'
+--------------+-----------+------+---------+------+-----------+-------------+--------------------+----------------+-----------+
| RESPONSEDATE | VERY_POOR | POOR | AVERAGE | GOOD | VERY_GOOD | CSAT_RATING | CATEGORY_WEIGHTAGE | CATEGORYNAME | CSATSCORE |
+--------------+-----------+------+---------+------+-----------+-------------+--------------------+----------------+-----------+
| 2018-04-03 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | Overall Rating | 3 |
| 2018-04-03 | 0 | 0 | 0 | 32 | 0 | 4 | 0 | Overall Rating | 4 |
| 2018-04-03 | 0 | 0 | 0 | 0 | 28 | 5 | 0 | Overall Rating | 5 |
| 2018-04-04 | 0 | 0 | 6 | 0 | 0 | 3 | 0 | Overall Rating | 3 |
| 2018-04-04 | 0 | 0 | 0 | 44 | 0 | 4 | 0 | Overall Rating | 4 |
| 2018-04-04 | 0 | 0 | 0 | 0 | 32 | 5 | 0 | Overall Rating | 5 |
| 2018-04-05 | 0 | 0 | 2 | 0 | 0 | 3 | 0 | Overall Rating | 3 |
| 2018-04-05 | 0 | 0 | 0 | 14 | 0 | 4 | 0 | Overall Rating | 4 |
| 2018-04-05 | 0 | 0 | 0 | 0 | 11 | 5 | 0 | Overall Rating | 5 |
+--------------+-----------+------+---------+------+-----------+-------------+--------------------+----------------+----------
大小写
语法应如下所示:
CASE
WHEN Condition1 THEN Value1
WHEN Condition2 THEN Value2
ELSE Value3
END
如果需要编写多个案例
,则需要重复整个结构(如果需要,可以使用不同的列别名)
您的问题是在第一个案例
之后缺少关键字“案例
”
SELECT
CASE WHEN RATING = 'VERY_POOR' THEN 1 ELSE 0 END 'VERYPOOR',
CASE WHEN RATING = 'POOR' THEN 1 ELSE 0 END 'POOR',
CASE WHEN RATING = 'AVERAGE' THEN 1 ELSE 0 END 'AVERAGE',
CASE WHEN RATING = 'GOOD' THEN 1 ELSE 0 END 'GOOD',
CASE WHEN RATING = 'VERY_GOOD' THEN 1 ELSE 0 END 'VERYGOOD'
-- FROM ....
你想完成什么?你能包括样本数据和预期输出吗?语法错误是什么?最终,您没有正确嵌套
CASE
语句,但很难确定预期行为是什么。+是一个算术运算符,在这里不合适。我不清楚你想做什么,你能通过在问题中添加样本数据和预期结果作为文本来说明吗?请给我们一个样本数据集和你的样本结果,请参阅RESPONSEDATE列here@kchason谢谢,语法错误是我没有使用case语句。
SELECT
CASE WHEN RATING = 'VERY_POOR' THEN 1 ELSE 0 END 'VERYPOOR',
CASE WHEN RATING = 'POOR' THEN 1 ELSE 0 END 'POOR',
CASE WHEN RATING = 'AVERAGE' THEN 1 ELSE 0 END 'AVERAGE',
CASE WHEN RATING = 'GOOD' THEN 1 ELSE 0 END 'GOOD',
CASE WHEN RATING = 'VERY_GOOD' THEN 1 ELSE 0 END 'VERYGOOD'
-- FROM ....