答案 0 :(得分:0)
首先用逗号分隔位置,然后插入新行
;WITH tmp(search_id, search_location, Location, String) AS
(
SELECT
search_id,
search_location,
LEFT(String, CHARINDEX(',', String + ',') - 1),
STUFF(String, 1, CHARINDEX(',', String + ','), '')
FROM YourTable
UNION all
SELECT
search_id,
search_location,
LEFT(String, CHARINDEX(',', String + ',') - 1),
STUFF(String, 1, CHARINDEX(',', String + ','), '')
FROM tmp
WHERE
String > ''
)
SELECT
search_id,
search_location,
Location
into #temp
FROM tmp
从上表中您可以得到计数
SELECT Location, COUNT(*) as [District Count]
FROM #temp
GROUP BY Location
ORDER BY COUNT(*) DESC