Sql Server 字符串聚合函数

 更新时间:2009年06月23日 18:52:38   作者:  
Sql Server 有如下几种聚合函数SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN,但是这些函数都只能聚合数值类型,无法聚合字符串。
如下表:AggregationTable
Id Name
1
2
1
1
2

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

Id Name
1 赵孙李
2 钱周

利用SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN是无法做到的。因为这些都是对数值的聚合。不过我们可以通过自定义函数的方式来解决这个问题。
1.首先建立测试表,并插入测试数据:

复制代码 代码如下:

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.创建自定义字符串聚合函数
复制代码 代码如下:

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.执行下面的语句,并查看结果
复制代码 代码如下:

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

结果为:

Id Name
1 赵孙李
2 钱周

相关文章

  • SQL 查询分析中使用net命令问题

    SQL 查询分析中使用net命令问题

    SQL 查询分析中使用net命令问题,有需要的朋友可以参考下。
    2009-08-08
  • SqlServer中模糊查询对于特殊字符的处理方法

    SqlServer中模糊查询对于特殊字符的处理方法

    这篇文章主要介绍了SqlServer中模糊查询对于特殊字符的处理方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • SQLServer中MERGE语句的使用

    SQLServer中MERGE语句的使用

    MERGE语句用于根据两个表之间的条件来插入、更新或删除记录,本文主要介绍了SQLServer中MERGE语句的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • SQL Server 向临时表插入数据示例

    SQL Server 向临时表插入数据示例

    SQL Server 向临时表插入数据,用临时表和表变量代替游标会极大的提高性能,下面有个示例,大家可以参考下
    2014-06-06
  • SQLServer2008R2版安装和测试的实现

    SQLServer2008R2版安装和测试的实现

    本文主要介绍了在Windows10上安装和配置SQL Server 2008R2,内容涵盖了安装过程中的注意事项,如安装.NET Framework 3.5、处理远程过程调用失败等常见问题,感兴趣的可以了解一下
    2024-12-12
  • SQL Server中的文件和文件组介绍

    SQL Server中的文件和文件组介绍

    这篇文章介绍了SQL Server中的文件和文件组,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • CREATE FUNCTION sqlserver用户定义函数

    CREATE FUNCTION sqlserver用户定义函数

    创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程。用户定义函数不能用于执行一组修改全局数据库状态的操作。与系统函数一样,用户定义函数可以从查询中唤醒调用。也可以像存储过程一样,通过 EXECUTE 语句执行
    2012-07-07
  • DDL、DML和DCL的区别与理解

    DDL、DML和DCL的区别与理解

    这篇文章主要介绍了DDL、DML和DCL的区别与理解,需要的朋友可以参考下
    2013-08-08
  • Sql Server中Substring函数的用法实例解析

    Sql Server中Substring函数的用法实例解析

    在sqlserver中substring函数是用来处理字符串的,常用于字符串截取了,下面我来给大家介绍下Sql Server中Substring函数的用法实例解析,需要的朋友参考下吧
    2016-12-12
  • SQL Server正确删除Windows认证用户的方法

    SQL Server正确删除Windows认证用户的方法

    这篇文章主要给大家介绍了关于SQL Server正确删除Windows认证用户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL Server具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09

最新评论