sum(if())和count(if())的用法
这个是设备统计金额的数据,的sql
SELECT a.* FROM
(SELECT corp_id AS corpId,device_id AS deviceId,COUNT(0) AS countDev,SUM(IF(txn_type = '8452',txn_cnt,0)) AS txnCntDev,SUM(IF(txn_type = '8451',txn_amt,0)) AS txnAmtDev FROM card_order_backup WHERE if('641501202012221' IS NOT NULL and '641501202012221' != '',corp_id = '641501202012221',1=1) AND txn_date BETWEEN '20210901' AND '20210915' GROUP BY device_id) a;
- COUNT(0) AS countDev 这个是统计有多少条数据,对应平台前面的 消费人数 (这里的统计是 后面 8451 8452查询出来的数据条数总和)
- SUM(IF(txn_type = '8452',txn_cnt,0)) AS txnCntDev, 当对应数据type=8452的时候 那么这个就是月票消费次数
- SUM(IF(txn_type = '8451',txn_amt,0)) AS txnAmtDev 如果为8451 那么数据展示的就是 金额
SUM(IF(txn_type = '8452',txn_cnt,0))
这里的函数含义是这一条数据 当type 返回值为8452的时候 就默认使用txn_cnt, 否则就默认为0
MYSQL sum(if())和count(if())的用法_liuguang212的博客-CSDN博客_count(if) mysql