佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Sql Server 字符串聚合函數(shù)

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

熱門標簽:服務(wù)外包 地方門戶網(wǎng)站 呼叫中心市場需求 AI電銷 Linux服務(wù)器 百度競價排名 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化
如下表:AggregationTable
Id Name
1
2
1
1
2

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

Id Name
1 趙孫李
2 錢周

利用SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN是無法做到的。因為這些都是對數(shù)值的聚合。不過我們可以通過自定義函數(shù)的方式來解決這個問題。
1.首先建立測試表,并插入測試數(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í)行下面的語句,并查看結(jié)果
復(fù)制代碼 代碼如下:

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

結(jié)果為:

Id Name
1 趙孫李
2 錢周

您可能感興趣的文章:
  • Sql Server 開窗函數(shù)Over()的使用實例詳解
  • SQL Server 2012 開窗函數(shù)
  • sql server如何利用開窗函數(shù)over()進行分組統(tǒng)計
  • MySQL中聚合函數(shù)count的使用和性能優(yōu)化技巧
  • MySql 中聚合函數(shù)增加條件表達式的方法
  • SQL中的開窗函數(shù)詳解可代替聚合函數(shù)使用

標簽:仙桃 湖南 蘭州 衡水 崇左 銅川 湘潭 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Sql Server 字符串聚合函數(shù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    白水县| 台东市| 易门县| 丹东市| 阜新市| 武乡县| 乌什县| 延边| 曲靖市| 临桂县| 济源市| 泾阳县| 乐昌市| 南皮县| 陆丰市| 鄯善县| 杭锦旗| 湖南省| 申扎县| 香港 | 会理县| 浮山县| 辽阳市| 临武县| 罗平县| 桐梓县| 漯河市| 遂昌县| 土默特右旗| 广宗县| 涪陵区| 平舆县| 天祝| 随州市| 麻阳| 海盐县| 岳普湖县| 桦南县| 乌拉特前旗| 麻江县| 深圳市|