Как найти общее (сумма) в MySQL из псевдонима? - PullRequest
0 голосов
/ 31 мая 2018

На самом деле у меня есть исходная база данных как

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                  |  

, и я хочу найти сумму первых строк, 2-х строк, 3-х строк и показать их в итоговом столбце, поэтому я сделал

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

1 Ответ

0 голосов
/ 31 мая 2018

Вы не можете использовать псевдоним на одном и том же уровне запроса. Чтобы получить общее количество, вам нужно повторить выражение

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() принимает один аргумент, поэтому я предполагаю, что вы добавляете свои наборы данных, используя + не запятая

...