2012-02-18 89 views
0

我目前这个MySQL的语句工作:的MySQL GROUP BY与附加条件

SELECT * FROM jobs GROUP BY jobType, address1; 

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

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

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的行都可以正常分组。

回答

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