Group_concat() 削减一些行
Group_concat() cuts some rows
我的查询如下:
select id, value from X where sig_id=1;
--> 获取近 1000 行;
但是当我使用的时候,
select id,
round(SUBSTRING_INDEX(group_concat(if(sig_id =1, value,0) order by sig_value desc),',',1),2)
from X;
--> 只获取 1 行;
I also get a warning,
Row 74 was cut by GROUP_CONCAT()
如何解决?
正如我所见,在您的以下查询中,您正在执行 GROUP_CONCAT()
而不执行任何 GROUP BY
,因此分组是在整个结果集上作为一个组完成的。因此,结果只有一条记录。
select id,
round(SUBSTRING_INDEX(group_concat(if(sig_id =1, value,0) order by sig_value desc),',',1),2)
from X;
您可能实际上想在某些列上使用 GROUP BY
,例如 id
列以获得多个分组结果。
我的查询如下:
select id, value from X where sig_id=1;
--> 获取近 1000 行;
但是当我使用的时候,
select id,
round(SUBSTRING_INDEX(group_concat(if(sig_id =1, value,0) order by sig_value desc),',',1),2)
from X;
--> 只获取 1 行;
I also get a warning,
Row 74 was cut by GROUP_CONCAT()
如何解决?
正如我所见,在您的以下查询中,您正在执行 GROUP_CONCAT()
而不执行任何 GROUP BY
,因此分组是在整个结果集上作为一个组完成的。因此,结果只有一条记录。
select id,
round(SUBSTRING_INDEX(group_concat(if(sig_id =1, value,0) order by sig_value desc),',',1),2)
from X;
您可能实际上想在某些列上使用 GROUP BY
,例如 id
列以获得多个分组结果。