Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Групиране по sql заявка в колона, свързана със запетая

Решение за SQL Server

WITH T ([Data], [Mail])
     AS (SELECT 1,'example@sqldat.com,example@sqldat.com' UNION ALL
         SELECT 2,'example@sqldat.com,example@sqldat.com')
SELECT address  AS Mail,
       COUNT(*) AS [Count]
FROM   T
       CROSS APPLY (SELECT CAST('<m>' + REPLACE([Mail], ',', '</m><m>') + '</m>'
                                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  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разделя низ на колони за изглед?

  2. Проверка за промени в таблица на SQL Server?

  3. 5 Навици за наблюдение на база данни на успешните администратори на база данни

  4. Промяна на цяло число към плаваща запетая и добавяне на десетична запетая

  5. Проблем със SQL заявката