Sql Server 字符串聚合函數(shù)
| 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ù):
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ù)
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é)果
select dbo.AggregateString(Id),Id from AggregationTable
group by Id
結(jié)果為:
| Id | Name |
| 1 | 趙孫李 |
| 2 | 錢周 |
相關(guān)文章
SqlServer中模糊查詢對(duì)于特殊字符的處理方法
這篇文章主要介紹了SqlServer中模糊查詢對(duì)于特殊字符的處理方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
SQL Server 向臨時(shí)表插入數(shù)據(jù)示例
SQL Server 向臨時(shí)表插入數(shù)據(jù),用臨時(shí)表和表變量代替游標(biāo)會(huì)極大的提高性能,下面有個(gè)示例,大家可以參考下2014-06-06
SQLServer2008R2版安裝和測(cè)試的實(shí)現(xiàn)
本文主要介紹了在Windows10上安裝和配置SQL?Server?2008R2,內(nèi)容涵蓋了安裝過(guò)程中的注意事項(xiàng),如安裝.NET?Framework?3.5、處理遠(yuǎn)程過(guò)程調(diào)用失敗等常見(jiàn)問(wèn)題,感興趣的可以了解一下2024-12-12
CREATE FUNCTION sqlserver用戶定義函數(shù)
創(chuàng)建用戶定義函數(shù),它是返回值的已保存的 Transact-SQL 例程。用戶定義函數(shù)不能用于執(zhí)行一組修改全局?jǐn)?shù)據(jù)庫(kù)狀態(tài)的操作。與系統(tǒng)函數(shù)一樣,用戶定義函數(shù)可以從查詢中喚醒調(diào)用。也可以像存儲(chǔ)過(guò)程一樣,通過(guò) EXECUTE 語(yǔ)句執(zhí)行2012-07-07
Sql Server中Substring函數(shù)的用法實(shí)例解析
在sqlserver中substring函數(shù)是用來(lái)處理字符串的,常用于字符串截取了,下面我來(lái)給大家介紹下Sql Server中Substring函數(shù)的用法實(shí)例解析,需要的朋友參考下吧2016-12-12
SQL Server正確刪除Windows認(rèn)證用戶的方法
這篇文章主要給大家介紹了關(guān)于SQL Server正確刪除Windows認(rèn)證用戶的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

