如何将一些相似的模式数据合并到mysql的一列中,以获得计数?
我有一张像下面这样的桌子 从这个表中,我想得到SearchParams的计数,我试着这样做: 但我希望所有与“TVE xxxx”模式匹配的数据都应合并为“TVE”和计数如何将一些相似的模式数据合并到mysql的一列中,以获得计数?,mysql,sql,count,Mysql,Sql,Count,我有一张像下面这样的桌子 从这个表中,我想得到SearchParams的计数,我试着这样做: 但我希望所有与“TVE xxxx”模式匹配的数据都应合并为“TVE”和计数 请提供帮助。要使用“TVE xxx”模式过滤数据,请使用下面的查询 select name,count(name) from tblName where name REGEXP '^TVE\-[a-zA-Z]{3}$' group by name 如果您知道模式的差异,可以使用CASE/WHEN将输出汇总如下。在这种情
请提供帮助。要使用“TVE xxx”模式过滤数据,请使用下面的查询
select name,count(name)
from tblName
where name REGEXP '^TVE\-[a-zA-Z]{3}$'
group by name
如果您知道模式的差异,可以使用CASE/WHEN将输出汇总如下。在这种情况下,您必须知道值列表可能是针对一个组的,例如“Account”,您需要将它们放入案例陈述的in列表中
SELECT
CASE
WHEN searchParam IN ('AccountSVNC','AccountSVNC') THEN 'Account'
WHEN searchParam IN ('TVE-ABC','TVE-CDE','TVE-MFG') THEN 'TVE'
ELSE searchParam
END searchParam,
COUNT(searchParam)
FROM your_table
GROUP BY
CASE
WHEN searchParam IN ('AccountSVNC','AccountSVNC') THEN 'Account'
WHEN searchParam IN ('TVE-ABC','TVE-CDE','TVE-MFG') THEN 'TVE'
ELSE searchParam
END
使用CASE语句确定分组依据的值:
select
case when searchParam like 'TVE-%' then 'TVE' else searchParam end groupParam,
count(*) counter
from careinsight.testtable
group by groupParam
不要发布代码等的图像,因为现在我们无法复制和修改您的查询。我懒得从一开始就把它写下来……你们知道TVE-的三种不同模式吗?或者动态?OP希望将不同的TVE行组合在一起。这是一个完美的解决方案。