2017-04-04 75 views
1
Name Code days 
----------------- 
aaaa A  2 
bbbb B  -2 
cccc Q  -1 
dddd C  1 
eeee D  -3 
ffff A  3 

这是我在sql server中的表。现在我想要得到所有代码的总数,名称和天数的总和。但是我想把A和Q加在一起作为A. 所以桌子看起来像这样。如何将两行加在一起

count(Name) Code sum(days) 
------------------------------ 
    3   A  4 
    1   B  -2 
    1   C  1 
    1   D  -3 

回答

1

您可以使用CASE在聚集翻译 'Q',以 'A':

select count(name), 
    case when code = 'Q' then 'A' else code end as code, 
    sum(days) 
from your_table 
group by case when code = 'Q' then 'A' else code end 

或者使用IIF

select count(name), 
    iif(code = 'Q', 'A', code) as code, 
    sum(days) 
from your_table 
group by iif(code = 'Q', 'A', code) 
0

您可以使用Select得到的值该行:Select days from table_name where code=A 之后,您可以删除该行,通过使用Alter