group by报错?
确保在使用GROUP BY时,所有SELECT中提到的非聚合列(即没有使用聚合函数的列)都包含在GROUP BY子句中
举个例子:在以下sql中仅单独使用group by id会报错,因为非聚合列name未包含在group by子句中
with
t as (
select
u.id as id,
u.name as name,
sum(if(gi.type = 'add', +gi.grade_num, -gi.grade_num)) as grade_num
from
user as u,
grade_info as gi
where u.id=gi.user_id
group by 1,2
)
select
*
from
t
where
grade_num=(select max(grade_num) from t)
order by
id;

浙公网安备 33010602011771号