bgc*_*ode 4 mysql sql group-by case
由于(Department_Code,Course_Code)行,以下查询给出错误"#1241 - 操作数应包含1列".当我用just(Course_Code)替换它时,它可以工作.但是,这不是我想要的
SELECT * FROM Classes
GROUP BY CASE
WHEN (1) THEN
Department_Code
ELSE CASE WHEN (2) THEN
(Department_Code, Course_Code)
ELSE Class_ID
END
END
Run Code Online (Sandbox Code Playgroud)
当条件(2)满足时,如何按Department_Code,Course_Code进行分组?
一个case表达式只能返回一个值,所以你需要两个case表达式.此外,case为每个表达式使用单个表达式,而不是将两个嵌套在彼此内部:
SELECT * FROM Classes
GROUP BY
CASE
WHEN (1) THEN
Department_Code
WHEN (2) THEN
Department_Code
ELSE
Class_ID
END,
CASE
WHEN (2) THEN
Course_Code
ELSE
1
END
Run Code Online (Sandbox Code Playgroud)