这是我当前的查询(替换机密数据以及为简单起见删除了where子句):
select a.id, group_concat(v.value) from asset a, values v where a.id=v.id group by a.case_id;
目前的结果显示为:
a.id v.value
123 a,b
234 a
456 a,b,c
789 d,e
237 a
我想要它做的是分组并计算group_concat的结果,所以看起来应该是这样的:
v.value count
a,b 1
a 2
a,b,c 1
d,e 1
我尝试将我提供给group_concat的字段名称分组失败,但它继续说“无法按名称分组”
我必须直接在查询中而不是在代码中执行此操作。有什么建议?
答案 0 :(得分:3)
SELECT gc_values
, COUNT(*)
FROM
( SELECT a.id
, GROUP_CONCAT(v.value) gc_values
FROM asset a
JOIN `values` v
ON v.id = a.id
GROUP
BY a.id
) x
GROUP
BY gc_values;
答案 1 :(得分:0)
select grouped_values, count(*) from [subselect aliasing group_concat] group by grouped_values