时间:2021-07-01 10:21:17 帮助过:6人阅读
select
'' as type,
`class`.`name` as cname,
`score`.`cid`,
`score`.`uid`,
`user`.`name` as uname,
`score`
from `score`
right join `class` on `score`.`cid` = `class`.`cid`
left join `user` on `score`.`uid` = `user`.`uid`
union all(
select
'汇总',
`c`.`cname`,
`c`.`cid`,
`c`.`uid`,
count(`cid`) as uname,
sum(`score`) as score
from (
select
'' as type,
`class`.`name` as cname,
`score`.`cid`,
`score`.`uid`,
`user`.`name` as uname,
`score`
from `score`
right join `class` on `score`.`cid` = `class`.`cid`
left join `user` on `score`.`uid` = `user`.`uid`
) c group by `cname`
)
order by `cname` asc, `type` asc;