zoukankan      html  css  js  c++  java
  • SqlServer 对分组的内容进行拼接-group_concat

     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/
     
  • 相关阅读:
    《深入理解Android内核设计思想》已陆续在全国各大书店及网上书店上市,感谢大家一直以来的支持~~
    PKUSC2019 D2T2
    Java面试(二)
    Java面试(一)
    MFC学习(七) 单文档程序
    MFC学习(六)计算器
    C++ 面试题(转载)
    MFC学习(五)常见面试题
    MFC学习(四) 消息机制
    MFC学习(三)程序入口和执行流程
  • 原文地址:https://www.cnblogs.com/micro-chen/p/9492312.html
Copyright © 2011-2022 走看看