当前位置: 首页 > 面试题库 >

SQLSERVER中的ListAGG

姜彬郁
2023-03-14
问题内容

我正在尝试在SQLServer中聚合“ STRING”字段。我想找到与Oracle中相同的函数LISTAGG。

您知道如何执行相同的功能或其他方法吗?

例如,

Field A | Field B
1       |  A
1       |  B
2       |  A

我希望这个查询的结果是

1 | AB
2 | A

问题答案:

从SQL Server 2017开始,该STRING_AGG功能可用,从而大大简化了逻辑:

select FieldA, string_agg(FieldB, '') as data
from yourtable
group by FieldA

在SQL Server中,您可以FOR XML PATH用来获取结果:

select distinct t1.FieldA,
  STUFF((SELECT distinct '' + t2.FieldB
         from yourtable t2
         where t1.FieldA = t2.FieldA
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,0,'') data
from yourtable t1;


 类似资料:
  • node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序。可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Windows Azure SQL 数据库。 该项目托管在 Github 上。

  • sqlserver manager 是一个多功能sqlserver图形管理界面,支持自定义导入导出,自动扫描服务器,数据库。  

  • 主要内容:第1节. 查询数据,第2节. 对数据进行排序,第3节. 限制返回行数,第4节. 过滤数据,第5节. 连接表,第6节. 分组数据,第7节. 子查询,第8节. 集合运算符,第9节. 修改数据,第10节. 数据定义,第11节. SQL Server数据类型,第12节. 约束MS SQL Server是Microsoft开发的关系数据库管理系统(RDBMS)。 本产品专为存储其他应用程序所需的检索数据的基本功能而构建。 它可以在同一台计算机上运行,也可以在网络上运行。 本教程介绍了SQL Se

  • 我在Wamp上使用symfony2,它连接在SQL服务器DB上。 当我开始与项目 一切都很好,速度很慢,但我的网站在127.0上还可以。0.1:8000,Doctrine2连接到sql server数据库时没有问题。 我的问题:当我localhost/MyProject/web/app_php.php(意味着我使用wamp而不是server: run)。Symfony抛出一个异常: PDOExc0

  • 官方的SQLServer数据库的JDBC驱动程序 驱动类名:com.microsoft.sqlserver.jdbc.SQLServerDriver URL格式:jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

  • 如果你不想安装庞大的MSSQL IDE,或者不方便安装,你可以使用本软件集成到你的项目中,做一些简单的数据库管理工作。本软件将会持续更新,持续开发新的功能,以便满足更多需求。由于上传源码文件数量限制,源码已打包为DBOA.rar。 基于ASP.NET+C#+XML开发管理SQLSERVER数据库工具,B/S模式更适合无缝集成到任何使用IIS的B/S项目中。为您提供远程管理SQLSERVER数据库轻