MySQL GROUP BY附加条件

时间:2012-02-18 02:07:14

标签: mysql sql group-by

我正在使用这个MySQL语句:

SELECT * FROM jobs GROUP BY jobType, address1;

我需要能够为此查询添加另一个条件。 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

我想组合第1行和第2行,即使它们的jobType不同。同样,任何jobType不是1或2的行都会正常分组。

1 个答案:

答案 0 :(得分:6)

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