为了性能,我需要为 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”)
最佳答案
这应该可以解决问题
SELECT
SUBSTRING_INDEX(group_CONCAT(name) , ',', 2) as list ,
( if(count(*) > 2 , 1 , 0)) as more
FROM
t
WHERE
qid=1
关于sql - MySQL GROUP_CONCAT 令人头痛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1514399/