SqlServer  对分组的内容进行拼接:

方案1:xml 子集,性能较差

方案2:借助 sqlCLR 接入。实现group_concat。性能完美,但是 阿里云的不支持!!!!

CREATE TABLE [dbo].[a_data_test](
[empid] [INT] NULL,
[workdate] [DATETIME] NULL
) ON [PRIMARY]

INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (1, '2018-8-17 10:20:43.33310:');
GO
INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (1, '2018-8-17 10:20:43.333');
GO
INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (2, '2018-8-17 10:21:09.29310:');
GO
INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (2, '2018-8-17 10:21:09.293');
GO
INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (3, '2018-8-17 10:21:37.87710:');
GO
INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (3, '2018-8-17 10:21:37.880');
GO
INSERT INTO [a_data_test] ([empid], [workdate]) VALUES (3, '2018-8-17 10:21:37.88010:');
GO

1:

SELECT
ta.empid,
STUFF((SELECT ',' +CONVERT(varchar(100), b.workdate, 25)
FROM a_data_test b
WHERE ta.empid=b.empid
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
FROM
(
SELECT
a.empid
FROM
dbo.a_data_test a
GROUP BY a.empid
) ta
--LEFT JOIN dbo.a_data_test b ON b.empid = ta.empid

  

2:

 https://archive.codeplex.com/?p=groupconcat
https://github.com/orlando-colamatteo/ms-sql-server-group-concat-sqlclr/tree/master/GroupConcat 
https://www.codeproject.com/Articles/691102/String-Aggregation-in-the-World-of-SQL-Server
https://www.anexinet.com/blog/group_concat-functionality-for-sql-server/
 

SqlServer 对分组的内容进行拼接-group_concat的更多相关文章

  1. MySQL 分组并多行拼接 group_concat 用法

    数据源 user name     age 小红 18 小明 18 小芳 19 ------------------------------------------------------------ ...

  2. mysql GROUP_CONCAT 可以将分组的字段进行拼接处理.

    GROUP_CONCAT 可以将分组的字段进行拼接处理. SELECT g.id, g.merchant_id, g. NAME, g.introduction, g.cover_pic, g.pla ...

  3. SQLServer 中实现类似MySQL中的group_concat函数的功能

    SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起. 后在网上查找,找到了可以实现此功能的方法,特此记录下. SELECT a, stuff((SELECT ...

  4. view视图--display中echo出ob_get_contents的缓冲内容--(实现,拼接好文件--导入文件)

    view.php01默认设置有3个公共的属性,其他属性.后面实例化的时候.通过传递参数.foreach遍历,不断的增加属性02view对象的实例化.位置在-->控制器父类的构造方法中视图的目录名 ...

  5. python:print输出内容大拼接,重新认识 + 和 ,

    加号 + 和 逗号, 都可以用来拼接print的输出内容,但是两者也是有区别的. 加号拼接: print ('zwf'+'wk') 1 1 结果: zwfwk 1 1 逗号拼接: print ('zw ...

  6. 第一个go的web程序;调用七牛云存储的音频api问题解决;条件搜寻文件中的内容,字符串拼接+在上一行

    package main import ( "html/template" "io" "io/ioutil" "log" ...

  7. SQLServer中通过脚本内容查找存储过程

    select o.name,m.definition from sys.objects o left outer join sys.sql_modules m on o.object_id = m.o ...

  8. servlet 将输入内容通过拼接页面的方式显示出来

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. sqlserver 树形结构表查询 获取拼接结果

    树形表结构如下 IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Test]') AND ty ...

随机推荐

  1. ASP.NET Identity详解

      Asp.Net Identiy是ASP.NET身份验证机制. 如何构建安全的Web应用? 我们先来思考一个问题:如何构建安全的WEB应用? 一直以来,这都是比较热门的话题.不幸的是,目前还没有一种 ...

  2. django项目验证码(PIL库实现)

    作个记录,这个东东,是可以到处照搬的. WINDOWS下和LINUX下,字体对象获取方式不一样. 为了用户体验,字体大小也重要的. 另外,为了照顾个别字母认不出来的人,提供刷新功能. 一,验证码函数 ...

  3. [转] SSO单点登录原理和流程分析

    WEB的登录那些事#### 说道账户登录和注册,其实我们每天都在亲身感受着,像微博.知乎还有简书等等.我们总是需要定期的去重新登录一下,对于这种认证机制,我们都能说出来两个名词,Cookie.Sess ...

  4. day14--前端HTML、CSS

        HTML是一个裸体的人,CSS穿上华丽的衣服,JS动起来.     HTML 1. -一套规则,浏览器识别的规则 2. 开发者: 学习HTML规则 开发后台程序 - 写HTML文件(充当模板的 ...

  5. python学习之python安装

    1.下载python源码包 wget https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz 2.下载  xz yum -y insta ...

  6. C++ 冒泡排序、选择排序、快速排序

    #include<stdio.h> #define N 10 void swap(int *p1, int *p2); void BubbleSort(int *a); void Sele ...

  7. win10搭建tensorflow-gpu环境

    昨天辛苦的配了GPU环境,记录一下防止以后还需要用到. 我配GPU的目的是用tensorflow的gpu来加速 不用ubuntu是因为一来不习惯,二来我不会配ubuntu的扩展显示器,就更不习惯了,习 ...

  8. Java初学者的30个常见问题

    本文回答了30个Java入门级初学者的常见问题. 我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间?为什么Java库不用随机piv ...

  9. git使用经验for windows

    一.本地同步fork的最新版本 二.git命令 一.本地同步fork的最新版本 ①打开Git CMD工具,进入git的主目录 ②使用 git remote -v 查看fork的远程仓库地址 origi ...

  10. VB.Net中确认退出对话框的实现

    实现方法分为两大类:窗体事件和控件事件,下面就一一展示: 一.FormClosing事件(又分以下几种方法) a. Private Sub frmPractise_FormClosing(ByVal ...