MySQL取小数点后两位及百分比

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、ROUND可以进行四舍五入,按照对应的位数

2、TRUNCATE直接按照位数截取,不四舍五入
实例:
SELECT ROUND(RAND(),4),TRUNCATE(RAND(),4);
SELECT c.c_name,COUNT(*) saleCount,SUM(a.item_sale_price) itemSumPrice,SUM(a.item_sale_price)-SUM(b.item_base_price) grossProfit,
CONCAT(ROUND((SUM(a.item_sale_price)-SUM(b.item_base_price))/SUM(a.item_sale_price)*100,2),'%') grossProfitMargin,
COUNT(DISTINCT a.order_id) saleSumPeople,
TRUNCATE(IFNULL(SUM(a.item_price),0)/COUNT(DISTINCT a.order_id),2) perUnitPrice
FROM auge_sale a
LEFT JOIN auge_item b ON b.item_barcode = a.item_barcode
INNER JOIN auge_item_classification c ON c.c_id=b.item_cid
GROUP BY c.c_name
ORDER BY itemSumPrice DESC

花费了近一个多小时的时间把sql语句完成,查询品类的各项参数的统计。不过有两点不足:

1、sql不利于后期的维护,前端页面可以直接拿,但是后期修改比较麻烦。

2、这样写下来代码的模块化不强,实现基本上在最底层的sql原生语句

转载于:https://my.oschina.net/inchlifc/blog/1576495

你可能感兴趣的:(MySQL取小数点后两位及百分比)