如何从别名中找到mysql中的total(sum)?

4sup72z8  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(342)

实际上我有原始数据库

SELECT sum(data1,data2) as database_value,sum(data3,data4) as database_not_value  from table_name;

| ID | science_name_short    |database_value   | database_not_value| 
|  1 | Rhododendron phipli   |3                | 4                 |  
|  2 | Rhododendron felica   |5                |6                  |  
| 3  | Rhododendron deron    |5                | 7                 |   
| 4  | Rhododendron  sednuns |5                |8                  |

我想找到第一行,第二行,第三行的总数,然后在total列中显示它们,所以我做了

SELECT sum(data1,data2) as database_value,sum(data3,data4) as database_not_value,sum(database_value+database_not_value) as total
  from table_name;

| ID |     science_name_short    |database_value   | database_not_value|Total | 
|  1 | Rhododendron phipli       |3                | 4                 |   7  |
|  2 | Rhododendron felica       |5                |6                  |   11 |
|3   | Rhododendron deron        |5                | 7                 |   12 |
|4   | Rhododendron  sednuns     |5                |8                  |   13 |

 then i get error as column "database_value" does not exist
puruo6ea

puruo6ea1#

不能在同一查询级别上使用别名,要获得总计,需要重复表达式

SELECT sum(data1 + data2) as database_value,
sum(data3 + data4) as database_not_value,
sum(data1 + data2) + sum(data3+ data4)  as total
from table_name;

sum() 接受一个参数,所以我假设您正在使用 + 不是用逗号

相关问题