Sql server 如何将两行相加

Sql server 如何将两行相加,sql-server,Sql Server,这是我在sql服务器中的表。现在我想得到所有代码的总数,姓名的计数和天数的总和。但是我想把A和Q加起来作为A。 所以桌子应该是这样的 Name Code days ----------------- aaaa A 2 bbbb B -2 cccc Q -1 dddd C 1 eeee D -3 ffff A 3 您可以使用CASE将聚合中的“Q”转换为“A”: count(Name) Code sum(da

这是我在sql服务器中的表。现在我想得到所有代码的总数,姓名的计数和天数的总和。但是我想把A和Q加起来作为A。 所以桌子应该是这样的

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

您可以使用
CASE
将聚合中的“Q”转换为“A”:

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

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

您可以使用
Select
获取该行的值:
Select days from table\u name,其中code=A
之后,您可以使用
Alter

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