mysql除法运算保留小数的函数DECIMAL(P,D)
业务场景
通过计算买家对店铺商品评价的评分来计算店铺的综合好评率。
商品评价分数1-5分
实现
完整实现sql
SELECT
store_id AS storeId,
CONCAT( CONVERT ( ( SUM( score )/ COUNT( score ))* 20, DECIMAL ( 15, 2 )), "%" ) AS centage
FROM
e_goods_comment
WHERE
append_id IS NULL
AND evaluation_user_id = 1
GROUP BY
store_id
使用函数 SUM() 函数计算店铺相关所以商品的评分和
SUM( score )
使用 COUNT() 函数计算店铺商品评价数
COUNT( score )
使用DECIMAL (P,D)函数,转换两个数相除后的精度和保留的小数点后位数
P是表示有效数字数的精度。 P范围为1〜65。
D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(<=)P。
-使用函数 CONVERT () 来进行数据类型得到转换
前:
SUM( score )/ COUNT( score ))* 20
后:
CONVERT ( ( SUM( score )/ COUNT( score ))* 20, DECIMAL ( 15, 2 ))
使用函数 CONCAT() 来进行百分号的拼接
CONCAT( CONVERT ( ( SUM( score )/ COUNT( score ))* 20, DECIMAL ( 15, 2 )), “%” )
最后结果:
还没有评论,来说两句吧...