Group by sql query on comma joined column

后端 未结 6 1326
孤独总比滥情好
孤独总比滥情好 2020-12-10 22:57

My table structure is like below, "Mail" column can contain multiple email joined by comma

Data(int)

Mail(v

6条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-10 23:19

    A SQL Server Solution

    WITH T ([Data], [Mail])
         AS (SELECT 1,'m1@gmail.com,m2@hotmail.com' UNION ALL
             SELECT 2,'m2@hotmail.com,m3@test.com')
    SELECT address  AS Mail,
           COUNT(*) AS [Count]
    FROM   T
           CROSS APPLY (SELECT CAST('' + REPLACE([Mail], ',', '') + ''
                                    AS XML
                               ) AS x) ca1
           CROSS APPLY (SELECT T.split.value('.', 'varchar(200)') AS address
                        FROM   x.nodes('/m') T(split)) ca
    GROUP  BY address  
    

提交回复
热议问题