我想在select语句中设置列的值,但仅限于某个条件。
如下所示:
SELECT
IF (MIN(mode) <> MAX(mode))
THEN
"Start Mode" = 'Multiple'
ELSE
"Method" = MIN(mode)
ENDIF
FROM sessions
--Where condition here
上述声明会产生错误。可以在这样的选择中使用IF语句吗?
修改
我想确定启动模式是什么。它可以是WEB或CALL。可以有多种启动模式。在这种情况下(MIN
不等于MAX
),那么我想将开始模式列设置为多个。
我可以使用“mode”作为列名,这个select将在一个更大的sql脚本中生成一个大表,我们将导出到.csv。我们希望使用csv的人清楚列名称。
样品:
Userid Mode
1 WEB
1 CALL
2 WEB
2 WEB
csv
User Id Start Mode
1 Multiple
2 WEB
答案 0 :(得分:0)
SELECT
User_id,
CASE WHEN (MIN(mode) <> MAX(mode))
THEN
'Multiple'
ELSE
MIN(mode)
END
as "Start Mode"
FROM sessions
--Where condition here
GROUP BY user_id