SQL 根据 IN 条件合并表行

标签 sql sql-server

我有一个如下所示的表格结果

Code    Counts1    Counts2   TotalCounts
1       10         20        30
4       15         18        33
5       5          14        19
...     ...        ...       ...

我想要实现的是合并代码(列计数分组)所属的所有行的计数(1,4)。然而,在我的所有研究中,我发现的只是基于每行的公共(public)值(相同的 id 等)合并行的方法

有没有办法根据 IN 标准合并行,以便我知道是否应该进一步研究?

最佳答案

工会怎么样?

select
   1 as Code,
   sum(Counts1) as Counts1,
   sum(Counts2) as Counts2,
   sum(TotalCount) as TotalCounts
from
   YourTable
where
   code in (1,4)

union
select * 
from 
   YourTable
where 
   code not in(1,4)

关于SQL 根据 IN 条件合并表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196016/

相关文章:

php - SchemaGenerator 附加VARCHAR 字段,为什么?

sql - 将宏计算结果传递给运行时的推荐方法是什么?

c# - 通过存储到变量中来减少 SQL 查询?

sql-server - 如何查找包含 <text> 的存储过程?

sql - 使用字符串输入在表中插入多个值

sql-server - DELETE ... WHERE ... NOT IN (...) 的现代替代方案?

php - MySQL 如何从 URL 传递的参数中获取列

sql - 在 UNION SQL 中创建一个 "final"过滤器

SQL Server 2005 两列上的唯一约束

sql - 使用 postgresql 更新基于其他列的列