如何在sql server的group by语句中聚合字符串字段

摘要:
因为这些是价值观的聚合。然而,我们可以通过定制函数来解决这个问题。
如何在sql server的group by语句中聚合字符串字段

你的具体需求是怎么样的呢/

下面是一个示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

如下表:AggregationTableIdName

1赵

2钱

1孙

1李

2周

如果想得到下图的聚合结果

IdName

1赵孙李

2钱周

利用SUMAVGCOUNTCOUNT(*)、MAXMIN是无法做到的。因为这些都是对数值的聚合。不过我们可以通过自定义函数的方式来解决这个问题。

1.首先建立测试表,并插入测试数据:

复制代码代码如下:

createtableAggregationTable(Idint,[Name]varchar(10))

go

insertintoAggregationTable

select1,'赵'unionall

select2,'钱'unionall

select1,'孙'unionall

select1,'李'unionall

select2,'周'

go

2.创建自定义字符串聚合函数

复制代码代码如下:

CreateFUNCTIONAggregateString

(

@Idint

)

RETURNSvarchar(1024)

AS

BEGIN

declare@Strvarchar(1024)

set@Str=''

select@Str=@Str+[Name]fromAggregationTable

where[Id]=@Id

return@Str

END

GO

3.执行下面的语句,并查看结果

复制代码代码如下:

selectdbo.AggregateString(Id),IdfromAggregationTable

groupbyId

结果为:

IdName

1赵孙李

2钱周

免责声明:文章转载自《如何在sql server的group by语句中聚合字符串字段》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇layer mobile开发layer.fullclipper库使用的一些心得下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

面试了一个 31岁的iOS开发者,思绪万千,30岁以上的程序员还有哪些出路?

前言之前HR给了我一份简历,刚看到简历的第一眼,31岁?31岁,iOS开发工程师,工作经历7年,5年左右都在外包公司,2年左右在创业公司。iOS开发工程师这块,还是很少遇到30岁以上的开发,正好,来了一个30岁的开发,说实话,对我来说,还是蛮期待的,希望对我有所启示。这样的过程持续了半个小时那么年过350岁的程序员还有出路吗?作为一个8年的iOS开发,而且几...

Innodb_large_prefix

但是,索引列的总长度不能超过3072字节的限制仍然存在...

echarts折线图 鼠标移入改变小点显示样式

=undefined){res+=nameList[i].seriesName+':'+nameList[i].data+'%'+''}}res=res.split;returnres[0]+''+res[1];}}echarts折线图的鼠标移动上去小点显示样式修改tooltip:{trigger:'axis',formatter:function{varr...

记一次Arcgis Server10.2许可过期导致发布图层失败

1.今天,当使用arcmap将地图服务发布到arcgisserver时,发布突然失败。在arcgisserver的管理页面的日志选项中发现错误:未能初始化服务器对象“System/PublicingTools”:0x80004005:错误:(-8003)YourArcGISServerlicense已过期。2.然后在服务器路径中查找文件:...

java 服务接口API限流 Rate Limit

服务接口的流量控制策略:分流、降级、流量限制等。2)使用Reids的列表结构,而不是incr命令1FUNCTIONLIMIT_API_CALLL2current=LLEN3IFcurrent˃10THEN4ERROR“toomanyrequestsperssecond”5ELSE6IFEXIST==FALSE7MULTI8RPUSH9EXPIRE10EXEC...

Django如何安装指定版本

Django的最新版本默认安装为:pipinstalldjangoDjango,然后是版本号:pipinstalldjango==1.11.7如果使用pipinstall库的安装速度较慢,您可以使用豆瓣的图片:pipinstalldjango==1.11.7-ihttp://pypi.douban.com/simple--trusted-hostpypi.d...