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 に答える