且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

GroupingError:错误:列必须出现在 GROUP BY 子句中或在聚合函数中使用

更新时间:2023-09-16 23:35:52

不允许选择reviews.id(通过通配符*隐式选择)而不添加将其添加到 GROUP BY 子句或应用聚合函数,如 avg().解决方案是执行以下操作之一:

You are not allowed to select reviews.id (selected implicitly through the wildcard *) without adding it to the GROUP BY clause or applying an aggregate function like avg(). The solution is to do one of the following:

  1. 从您的选择中删除通配符 *
  2. 将字段 reviews.id 添加到您的组子句中
  3. 显式选择 reviews.id 并对其应用聚合函数(例如 sum(reviews.id))
  4. 将通配符 * 替换为特定于表的通配符 albums.*
  1. Remove the wildcard * from your select
  2. Add the field reviews.id to your group clause
  3. Select reviews.id explicitly and apply an aggregate function to it (e.g. sum(reviews.id))
  4. Replace the wildcard * with the table-specific wildcard albums.*

第二个和第三个选项在您的场景中没有多大意义.根据您的评论,我添加了选项四.

The second and third option do not make much sense in your scenario though. Based on your comment, I added option four.