You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将单列数据转为单行展示?遇only_full_group_by报错求方案

解决only_full_group_by模式下GROUP_CONCAT的报错问题

要解决这个报错,只需将SELECT语句中所有非聚合列都添加到GROUP BY子句中即可——only_full_group_by模式要求查询中未使用聚合函数的列必须出现在GROUP BY里,以此保证分组逻辑的严谨性,避免出现歧义数据。

针对你的场景,修改后的SQL语句如下:

select f.title, f.release_year, f.description, f.rating, c.name, 
       GROUP_CONCAT(CONCAT(a.first_name, ' ', a.last_name) SEPARATOR ', ') as full_name
from film f
    join film_category fc on f.film_id = fc.film_id
    join category c on fc.category_id = c.category_id
    join film_actor fa on f.film_id = fa.film_id
    join actor a on fa.actor_id = a.actor_id
where title = "ACADEMY DINOSAUR"
group by f.title, f.release_year, f.description, f.rating, c.name

补充说明:

  • 把f.title、f.release_year、f.description、f.rating、c.name这些未使用聚合函数的列全部加入GROUP BY,完全符合only_full_group_by的规则。
  • 可以给GROUP_CONCAT加上SEPARATOR参数指定分隔符(示例中用了逗号加空格),让拼接后的姓名列表可读性更强,默认分隔符为逗号。

内容的提问来源于stack exchange,提问作者javierchia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 08:20:49