Mysql 从视图中选择聚合/计算列
我创建了一个SQL视图,该视图汇总了另一个表中的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) | +---------+-
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)` ...