select SUM(s.Star45) as Star45Num,
SUM(s.Star3) as Star3Num,
SUM(s.Star12) as Star12Num,
SUM(s.Record) as TotalNum,
AVG(s.starValue) AS AverageStar,
SUM(s.Star45)/SUM(s.Record) AS Star45Percent
from(
select case when pc.star>3 then 1 else 0 end as Star45,
case when pc.star=3 then 1 else 0 end as Star3,
case when pc.star<3 then 1 else 0 end as Star12,
pc.star as starValue,
1 AS Record
from mysqldb.ProductList_comment pc
where pc.ProductID=15792
) as s
得出的数据展现如下: