数据库查询问题

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
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 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年前 评论

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