首页新闻找找看学习计划

mysql中如何运用聚合函数求这样的表达式呢?

0
悬赏园豆:5 [已解决问题] 解决于 2017-09-25 19:54

结账记录的金额即实收金额=正常金额+重笔金额+疑难金额+预存金额-退款金额;

减去退款金额很是尴尬,假如时全加那好办,现在里面有一个减法,怎么做?

海染蓝了天LE的主页 海染蓝了天LE | 初学一级 | 园豆:26
提问于:2017-09-25 18:25
< >
分享
最佳答案
0

select sum(case when operation='退款' then -amount else amount end) from tb....

收获园豆:5
Daniel Cai | 专家六级 |园豆:10374 | 2017-09-25 18:44

不对呀,,这样算始终都是等于退款的相反数,也就是退款的负数呀?

海染蓝了天LE | 园豆:26 (初学一级) | 2017-09-25 19:40

@海染蓝了天LE: 你自己else后面多了个负号

Daniel Cai | 园豆:10374 (专家六级) | 2017-09-25 19:45

@Daniel Cai:删了 还是一样

海染蓝了天LE | 园豆:26 (初学一级) | 2017-09-25 19:47

@Daniel Cai: 好像时WHERE语句后面有影响

海染蓝了天LE | 园豆:26 (初学一级) | 2017-09-25 19:48

@海染蓝了天LE: 你where为什么要加operationtype?这个加了所有查出来的数据就是退款了啊。

Daniel Cai | 园豆:10374 (专家六级) | 2017-09-25 19:49

@Daniel Cai: 嗯嗯  失误了

海染蓝了天LE | 园豆:26 (初学一级) | 2017-09-25 19:52

@Daniel Cai: 但是他的count(*)怎么时少了一位呀?

海染蓝了天LE | 园豆:26 (初学一级) | 2017-09-25 20:23

@海染蓝了天LE: count(*)只跟你查询的条件有关,和这个case无关。

Daniel Cai | 园豆:10374 (专家六级) | 2017-09-25 20:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册