SELECT case grouping(t_s_name) when 0 then t_s_name when 1 then '合计' end
改为: select case when grouping(t_result.t_r_result)=1 then '小计' when grouping(t_result.t_r_result)=1 and grouping(t_s_name)=1 then '合计' else t_s_name end as 姓名
SELECT case when grouping(t_result.t_r_result)=1 and grouping(t_s_name)=1 then '合计' when grouping(t_result.t_r_result)=1 then '小计' else t_s_name end as 姓名, t_result.t_r_result as 成绩, AVG(t_result.t_r_result) AS 平均成绩 FROM t_student INNER JOIN t_result ON t_student.t_s_studentno = t_result.t_r_studentno GROUP BY t_s_name, t_result.t_r_result with rollup 看过了,要这样才能显示合计,sql判断时符合第一个条件就执行了,谢谢大家了。
update tablename set 姓名='小计' where 成绩 is null and 姓名<>'合计' 好像 update 不能更新虚拟表,如果可以麻烦大家告诉我
case grouping(t_s_name)
when 0 then t_s_name
when 1 then '合计'
end
select case when grouping(t_result.t_r_result)=1 then '小计'
when grouping(t_result.t_r_result)=1 and grouping(t_s_name)=1 then '合计'
else t_s_name end as 姓名
case
when grouping(t_result.t_r_result)=1 and grouping(t_s_name)=1 then '合计'
when grouping(t_result.t_r_result)=1 then '小计'
else t_s_name end as 姓名,
t_result.t_r_result as 成绩, AVG(t_result.t_r_result) AS 平均成绩
FROM t_student INNER JOIN
t_result ON t_student.t_s_studentno = t_result.t_r_studentno
GROUP BY t_s_name, t_result.t_r_result with rollup
看过了,要这样才能显示合计,sql判断时符合第一个条件就执行了,谢谢大家了。
好像 update 不能更新虚拟表,如果可以麻烦大家告诉我