数据库查询问题
select count(*) as a,SUM(id) as b ,b-a as c from table_name
怎么b-a说b字段不存在?如果要这样子写怎么写呢。
如果这样子写,那我的一些count很复杂的,不想重新写一次,有什么好办法?
select count(*) as a,SUM(id) as b ,SUM(id)-count(*) as c from table_name
关于 LearnKu
首先说为什么 b-a 不存在, b,a 是你的结果集,在执行过程中,b,a都不存在,你需要如你图二所示,走两次重复的过程取到你想要的的结果。当然引发的问题就是效率不好。
我目前的水平只能给你两个思路解决:
1,赋值变量,用编程语言解决。
2,select tab_a.a ,tab_a.b ,tab_a.b -tab_a.a as c from (select count(*) as a ,sum(id) as b from table) tab_a
mysql 只负责查询,运算完全可以放在逻辑代码中。
很少能看见 mysql 还负责逻辑运算的 :+1:
牛。