数据库查询问题

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
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
QiFengLe_

首先说为什么 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

4年前 评论

mysql 只负责查询,运算完全可以放在逻辑代码中。

4年前 评论

很少能看见 mysql 还负责逻辑运算的 :+1:

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!