标题: MySQL 列别名 无法操作,请问如何解决。 [打印本页] 作者: panxinming90 时间: 2011-01-05 09:14 标题: MySQL 列别名 无法操作,请问如何解决。 MySQL 想是实现求总和,遇到一个问题,如下:
mysql> select * from test;
+----+------+-------+------+
| sn | name | price | num |
+----+------+-------+------+
| 1 | a | 2 | 3 |
| 2 | b | 4 | 5 |
+----+------+-------+------+
2 rows in set (0.00 sec)
mysql> select *, price * num as count, sum(price * num) as sum from test.test;
+----+------+-------+------+-------+------+
| sn | name | price | num | count | sum |
+----+------+-------+------+-------+------+
| 1 | a | 2 | 3 | 6 | 26 |
+----+------+-------+------+-------+------+
1 row in set (0.00 sec)
mysql> select *, price * num as count, sum(count) as sum from test.test;
ERROR 1054 (42S22): Unknown column 'count' in 'field list'
mysql>
复制代码
select *, price * num as count, sum(price * num) as sum from test.test; 可以实现,
是否 有直接通过别名完成的方法。作者: hq8318 时间: 2011-01-05 10:37
select *, price * num as count, sum(price * num) as sum from test.test;
不可以吧,需要group by 子句。作者: hq8318 时间: 2011-01-05 11:12
select *,@temp:= price * num as count, sum(@temp) as sum from test.test;
后面应该要group by 子句的,你真的不用吗?好奇怪。作者: zang232 时间: 2011-01-05 14:12 本帖最后由 zang232 于 2011-01-05 14:14 编辑
别名count是mysql的关键字,同学,当然不让用了,换个名字吧,如果你的确想用这个名字,加个反引号就成了;
as `count` 像这样。。