欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Sql Server 字符串聚合函數(shù)

 更新時(shí)間:2009年06月23日 18:52:38   作者:  
Sql Server 有如下幾種聚合函數(shù)SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN,但是這些函數(shù)都只能聚合數(shù)值類型,無(wú)法聚合字符串。
如下表:AggregationTable
Id Name
1
2
1
1
2

如果想得到下圖的聚合結(jié)果

Id Name
1 趙孫李
2 錢周

利用SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN是無(wú)法做到的。因?yàn)檫@些都是對(duì)數(shù)值的聚合。不過(guò)我們可以通過(guò)自定義函數(shù)的方式來(lái)解決這個(gè)問(wèn)題。
1.首先建立測(cè)試表,并插入測(cè)試數(shù)據(jù):

復(fù)制代碼 代碼如下:

create table AggregationTable(Id int, [Name] varchar(10))
go
insert into AggregationTable
    select 1,'趙' union all
    select 2,'錢' union all
    select 1,'孫' union all
    select 1,'李' union all
    select 2,'周'
go

2.創(chuàng)建自定義字符串聚合函數(shù)
復(fù)制代碼 代碼如下:

Create FUNCTION AggregateString
(
    @Id int
)
RETURNS varchar(1024)
AS
BEGIN
    declare @Str varchar(1024)
    set @Str = ''
    select @Str = @Str + [Name] from AggregationTable
    where [Id] = @Id
    return @Str
END
GO

3.執(zhí)行下面的語(yǔ)句,并查看結(jié)果
復(fù)制代碼 代碼如下:

select dbo.AggregateString(Id),Id from AggregationTable
group by Id

結(jié)果為:

Id Name
1 趙孫李
2 錢周

相關(guān)文章

  • 一文搞懂MySQL臟讀,幻讀和不可重復(fù)讀

    一文搞懂MySQL臟讀,幻讀和不可重復(fù)讀

    這篇文章主要介紹了一文搞懂MySQL臟讀,幻讀和不可重復(fù)讀,MySQL?默認(rèn)的事務(wù)隔離級(jí)別是可重復(fù)讀,文章通過(guò)MySQL?中事務(wù)的隔離級(jí)別展開(kāi)全文詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-05-05
  • 最新評(píng)論