Mysql 从视图中选择聚合/计算列

Mysql 从视图中选择聚合/计算列,mysql,sql,sql-view,Mysql,Sql,Sql View,我创建了一个SQL视图,该视图汇总了另一个表中的amt列: create view blackjack_balance as select user_id, sum(amt) from blackjack_balance_change group by user_id; 这是预期的工作: mysql> select * from blackjack_balance; +---------+----------+ | user_id | sum(amt) | +---------+-

我创建了一个SQL视图,该视图汇总了另一个表中的
amt
列:

create view blackjack_balance as 
select user_id, sum(amt) 
from blackjack_balance_change 
group by user_id;
这是预期的工作:

mysql> select * from blackjack_balance;
+---------+----------+
| user_id | sum(amt) |
+---------+----------+
|      73 |        2 |
|      74 |       -2 |
+---------+----------+
但是如何仅选择
sum(amt)
列?这不起作用:

mysql> select sum(amt) from blackjack_balance;
ERROR 1054 (42S22): Unknown column 'amt' in 'field list'
这很有意义,因为视图中没有
amt
列,而且这似乎也不起作用:

mysql> select "sum(amt)" from blackjack_balance;
+----------+
| sum(amt) |
+----------+
| sum(amt) |
| sum(amt) |
+----------+
这样做的正确语法是什么?期望输出:

+----------+
| sum(amt) |
+----------+
|       -2 |
|        2 |
+----------+

你应该给这个栏目起一个正确的名字。像这样

... select user_id, sum(amt) as amt_sum from ...
然后你可以选择它

select amt_sum from blackjack_balance
顺便说一句,MySQL使用倒勾来转义“特殊”列或表名

select `sum(amt)` ...

你应该给这个栏目起一个正确的名字。像这样

... select user_id, sum(amt) as amt_sum from ...
然后你可以选择它

select amt_sum from blackjack_balance
顺便说一句,MySQL使用倒勾来转义“特殊”列或表名

select `sum(amt)` ...