MySQL GROUP BY附加条件

Jer*_*emy 0 mysql sql group-by

我正在使用这个MySQL语句:

SELECT * FROM jobs GROUP BY jobType, address1;
Run Code Online (Sandbox Code Playgroud)

我需要能够为此查询添加另一个条件.GROUP BY只组合重复项,但我还需要组合jobType为'1'或jobType为'2'的所有行.所有其他jobTypes将正常分组.

例如,我的表看起来像这样:

jobType | address1
1       | 123 State st
2       | 123 State st
3       | 415 5th Ave
1       | 123 State st
1       | 24 3rd Ave
1       | 123 State st
3       | 555 Mission st
4       | 123 State st
Run Code Online (Sandbox Code Playgroud)

我想组合第1行和第2行,即使它们的jobType不同.同样,任何具有1或2之外的jobType的行都将被正常分组.

Joh*_*ick 6

SELECT * 
FROM jobs 
GROUP BY CASE WHEN jobType in ('1','2') THEN '1' ELSE jobType END, address1
Run Code Online (Sandbox Code Playgroud)