社区首页 >问答首页 >SQL Server中带有sum的行的逗号分隔值

SQL Server中带有sum的行的逗号分隔值
EN

Stack Overflow用户
提问于 2020-04-25 19:43:18
回答 4查看 186关注 0票数 1
代码语言:javascript
代码运行次数:0
复制
create table #t(org varchar(50), area int)

insert into #t values ('a', 500), ('b', 200), ('c', 400)

select * from #t

输出:

代码语言:javascript
代码运行次数:0
复制
org     area
--------------
a       500
b       200
c       400

我想将输出转换为以下格式:

代码语言:javascript
代码运行次数:0
复制
org         area
-----------------
a,b,c       1100

也就是说,用逗号分隔所有的组织和它的面积值的总和。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-04-26 12:33:03

子查询确实不是必须的:

代码语言:javascript
代码运行次数:0
复制
select stuff((select ','+t1.org from #t t1 for xml path('')), 1, 1, '') as org, 
       sum(area) as area
from #t t;
票数 1
EN

Stack Overflow用户

发布于 2020-04-25 19:56:13

使用子查询/CTE、窗口函数SUM() OVER()STRING_AGG()

代码语言:javascript
代码运行次数:0
复制
create table #t(org varchar(50), area int)
insert into #t values ('a',500),('b',200),('c',400);


select string_agg(org, ',') org, area
from
(
  select org, sum(area) over() area
  from #t
)t
group by area

或者

代码语言:javascript
代码运行次数:0
复制
select org, sum(area) area
from
(
select stuff(
      (select ',' + org from #t  for xml path('')), 1, 1, '') org, area
from #t tt
) t
group by org
票数 1
EN

Stack Overflow用户

发布于 2020-04-25 19:53:37

如果使用sql server 2017以上版本,则可以使用String_agg()

代码语言:javascript
代码运行次数:0
复制
create table #t(org varchar(50), area int)
insert into #t values ('a',500),('b',200),('c',400)
select String_agg(org, ',') as org, Sum(area) as sumarea 
from #t
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61431600

复制
相关文章
SQL SERVER使用STUFF函数拼接记录为逗号分隔符
注意:本文内容太多,公众号有字数限制,全文可点击文末的阅读原文,谢谢大家的理解。Oracle培训和认证记得找小麦苗哟。
AiDBA宝典
2019/09/30
3.8K0
SQL SERVER使用STUFF函数拼接记录为逗号分隔符
CSV逗号分隔值格式文件(示例分析)
CSV全称Comma Separated Values是"逗号分隔值"的英文缩写.通常是纯文本文件,可以被文本编辑软件,Excel或WPS表格打开. 基本规则 开头不留空,以行为单位; 列名(标题)放在第一行(可忽略不加列名); 每一行数据以换行结束,无空行; 以半角逗号作分隔符,列为空也要表达其存在; 列内容如存在半角逗号则用半角引号("")将该字段值包含起来; 列内容如存在半角引号则需要使用半角双引号("")转义,并用半角引号("")将该字段值包含起来; 文件读写时引号,逗号操作规则互逆; 内码格式不限
Qt君
2019/07/15
3.5K0
sql里将重复行数据合并为一行,数据用逗号分隔
DECLARE @T1 table ( UserID int , UserName nvarchar(50), CityName nvarchar(50) );
跟着阿笨一起玩NET
2018/09/18
3.9K0
sql里将重复行数据合并为一行,数据用逗号分隔
LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件
参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx
跟着阿笨一起玩NET
2018/09/19
2.6K0
Java的Set转成逗号分隔的字符串
package com.javaedge.collection.set; import org.apache.commons.lang.StringUtils; import java.util.HashSet; import java.util.Set; /** * Set转逗号分隔字符串 * * @author JavaEdge * @date 2021/10/8 */ public class Set2String { public static void main(Stri
JavaEdge
2021/12/07
3.1K0
MySQL查询某个表中的所有字段并通过逗号分隔连接
想多造一些测试数据,表中字段又多一个个敲很麻烦,导出表中部分字段数据又不想导出ID字段(因为ID字段是自增的,导出后再插入会报唯一性错误),select * 查出来又是所有的字段。 可以通过如下SQL查询表中所有字段通过逗号连接,然后复制出来进行select查询再导出
共饮一杯无
2022/11/24
9.5K0
MySQL查询某个表中的所有字段并通过逗号分隔连接
java中字符串以逗号分隔的转换为List方法
List<String> split= Arrays.asList(str.split(","));
IT工作者
2022/05/05
7.1K0
Spring MVC 提交带有点分隔的参数
重点就是需要配置参数@InitBinder告诉当请求的方法上有orderTargetingsVo这个名称的参数的时候,参数普遍有一个前缀。意思就是给这个vo里面去set值的时候使用没有这个前缀的名称与vo里面的set方法去匹配;
前Thoughtworks-杨焱
2021/12/08
5120
java里面逗号分隔的字符串转list
目录 逗号分隔的字符串转list 逗号分隔的字符串转list //逗号分隔的字符串转list public static List<String> getListStr(String str) { String[] strs = str.split(","); return Arrays.asList(strs); }
一写代码就开心
2022/05/09
2.5K0
Pyspark处理数据中带有列分隔符的数据集
本篇文章目标是处理在数据集中存在列分隔符或分隔符的特殊场景。对于Pyspark开发人员来说,处理这种类型的数据集有时是一件令人头疼的事情,但无论如何都必须处理它。
deephub
2021/01/25
4K0
Sql Server 中 根据具体的值 查找该值所在的表和字段
在我们的工作中经常遇到这样一个问题,在页面中保存一条数据,有个字段值为“张三”,但是,不知道这条数据保存在了哪个表中,现在我们想要追踪该值是存储到了那个表的那个字段中,具体要怎么操作呢?下面我们可以借助存储过程来解决这一问题
jamesjiang
2022/11/20
6.4K0
Sql Server 中 根据具体的值 查找该值所在的表和字段
将Session值储存于SQL Server中
一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session的值: InProc
Java架构师必看
2021/03/22
8440
【SQL server 修改编辑前200行操作中的行数】
找到SQL Server对象资源管理器中的命令,在右侧的编辑前行命令栏,输入想要执行的行数操作,大于200小于200均可,根据实际的需求进行更改
magize
2023/07/11
4940
【SQL server 修改编辑前200行操作中的行数】
SQL Server中的GUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。
全栈程序员站长
2022/07/15
5.2K0
Mysql 取用逗号分隔的字串的子串的方法:SUBSTRING_INDEX
有一张部门表:appbricks_department ,有 id 字段和 rank_tree 字段。
微风-- 轻许--
2022/04/13
2K0
Mysql 取用逗号分隔的字串的子串的方法:SUBSTRING_INDEX
Js数字千分位逗号分隔
console.log(change(12345.67)) function change(num) { var str = num.toString() v
明知山
2021/04/07
5.7K0
SQL 将一个字段内用逗号分隔的内容分成多条记录
本文转http://www.mhzg.net/a/20117/2011789260293.html
跟着阿笨一起玩NET
2018/09/18
4.5K0
SQL Server中自定义函数:用指定的分隔符号分割字符串
其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用。
张传宁IT讲堂
2019/09/17
4.3K0
SQL Server中自定义函数:用指定的分隔符号分割字符串
SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段; 方法二:使用拼接SQL,动态列字段; 方法三:使用PIVOT关系运算符,静态列字段; 方法四:使用PIVOT关系运算符,动态列字段; 扩展阅读一:参数化表名、分组列、行转列字段、字段值; 扩展阅读二:在前面的基础上加入条件过滤; 参考文献(References) 二.背景(Contexts) 其实行转列并不是一个什么新鲜的话题
用户1112962
2018/07/03
4.3K0
sql server 行转列 Pivot UnPivot
PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现
乔达摩@嘿
2020/09/11
1.6K0

相似问题

SQL Server -使用GROUP BY子句的SUM和逗号分隔值

215

Server中带有逗号分隔值的多组

30

SQL Server :选择包含多个逗号分隔值的行

10

带有逗号分隔值的SQL查询

33

匹配SQL Server列中的逗号分隔值

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文