Sql 从like case语句派生的值的组计数
我有一个表格,表格中有格式的数据 PropertyValue字符串 用户签名www.website.com.brxxx/sales/selled www.website.com用户/已售出 www.website.com.co.uk\暂挂销售税 我需要做的是根据下面sql中的site列进行分组,以获得每个站点的总数Sql 从like case语句派生的值的组计数,sql,count,group-by,sql-like,Sql,Count,Group By,Sql Like,我有一个表格,表格中有格式的数据 PropertyValue字符串 用户签名www.website.com.brxxx/sales/selled www.website.com用户/已售出 www.website.com.co.uk\暂挂销售税 我需要做的是根据下面sql中的site列进行分组,以获得每个站点的总数 SELECT top 1000 CASE WHEN propertyvaluestrings LIKE '%www.website.co.uk%
SELECT top 1000
CASE
WHEN propertyvaluestrings LIKE '%www.website.co.uk%' THEN 'UK'
WHEN propertyvaluestrings LIKE '%www.website.us%' THEN 'USA'
WHEN propertyvaluestrings LIKE '%www.website.com.br%' THEN 'Brazil'
WHEN propertyvaluestrings LIKE '%www.website.co.id%' THEN 'indonesia'
WHEN propertyvaluestrings LIKE '%www.website.com%' THEN 'Global'
ELSE 'XXXXXXXXXXXXXXXX----Unknown'
END as Site
,
PropertyValueStrings
FROM profiles
你的意思是计算每个国家的PropertyValue字符串的数量吗?如果是这样,这应该是可行的:
SELECT Site, COUNT(*) AS Count
FROM (
SELECT (CASE
WHEN propertyvaluestrings LIKE '%www.website.co.uk%' THEN 'UK'
WHEN propertyvaluestrings LIKE '%www.website.us%' THEN 'USA'
WHEN propertyvaluestrings LIKE '%www.website.com.br%' THEN 'Brazil'
WHEN propertyvaluestrings LIKE '%www.website.co.id%' THEN 'indonesia'
WHEN propertyvaluestrings LIKE '%www.website.com%' THEN 'Global'
ELSE 'XXXXXXXXXXXXXXXX----Unknown'
END) AS [Site]
,
propertyvaluestrings
FROM Profiles
) X
GROUP BY Site