1

这是我当前的查询(为简单起见,替换了机密数据并删除了 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 计数
a,b 1
a 2
a,b,c 1
d,e 1

我尝试对我提供给 group_concat 的字段名称进行分组,但它一直在说“无法按“名称”分组

我必须直接在查询中而不是在代码中执行此操作。有什么建议么?

4

2 回答 2

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;
于 2013-01-31T17:13:55.280 回答
0

你可以这样做:

select grouped_values, count(*) from [subselect aliasing group_concat] group by grouped_values
于 2013-01-31T17:15:23.867 回答