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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值