MySQL 查询总订单量和总销售金额与当天的订单量和当天的销售金额

一、平常使用MySQL查询的话,都是这样写的语句:


//查询总订单量与总销售金额
select count(id) as order_nums,sum(price) as order_price from order

//查询当天订单量与当天销售金额
select count(id) as day_nums,sum(price) as day_price from order where time >= '2021-10-01 00:00:00' and time <= '2021-10-02 00:00:00'

//或者
select count(id) as day_nums,sum(price) as day_price from order where  DATE_FORMAT(time,'%Y-%m-%d') = '2021-10-01'

这样的话,会产生两次与MySQL的交互,查询时间会加长。

二、用一条语句来完成查询,这样与MySQL交互只有一次,就减少了与MySQL一次的交互;节约一次交互的时间。


//查询总订单量和总销售金额,与当天的订单量和当天的销售金额
select count(id) as order_nums,sum(price) as order_price,sum(IF(DATE_FORMAT(time,'%Y-%m-%d') = '2021-10-01',price,NULL)) as day_price,count(IF(DATE_FORMAT(time,'%Y-%m-%d') = '2021-10-01',id,NULL)) as day_nums from order

DATE_FORMAT : MySQL表中,时间字段类型为日期格式(2021-10-01)的使用这个函数。

FROM_UNIXTIME:MySQL表中,时间字段类型为 int 时间戳的使用这个函数。

如果你有更优的SQL语句,可以在下方评论喔!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值