パフォーマンスのために、GROUP_CONCATに制限を設定する必要があります。
含まれていない行があるかどうかを知る必要があります。
どうやってするの?
編集
不自然な例を挙げましょう:
create table t(qid integer unsigned,name varchar(30));
insert into t value(1,'test1');
insert into t value(1,'test2');
insert into t value(1,'test3');
select group_concat(name separator ',')
from t
where qid=1;
+----------------------------------+
| group_concat(name separator ',') |
+----------------------------------+
| test1,test2,test3 |
+----------------------------------+
しかし今、私はせいぜい2つのエントリをグループ化したいので、結果に含まれていないエントリがあるかどうかを知る必要があります。
+----------------------------------+
| group_concat(name separator ',') |
+----------------------------------+
| test1,test2 |
+----------------------------------+
そして、別のエントリが残っていることを知る必要があります(この場合は「test3」です)