MySQL培训教程:select子句中使用列的别名,你可以在GROUP BY、ORDER BY或在HAVING部分中使用别名引用列,别名也可以用来为列取一个更好点的名字:
MySQL> SELECT species,COUNT(*) AS total FROM pet
-> GROUP BY species HAVING total>1;
+---------+-------+
| species | total |
+---------+-------+
| bird | 2 |
| cat | 2 |
| dog | 3 |
+---------+-------+
注意,你的 ANSI SQL 不允许你在一个WHERE子句中引用一个别名。这是因为在WHERE代码被执行时,列值还可能没有终结。例如下列查询是不合法:
SELECT id,COUNT(*) AS total FROM pet WHERE total > 1 GROUP BY species
会有下面的错误:
ERROR 1054: Unknown column 'total' in 'where clause'
WHERE语句被执行以确定哪些行应该包括GROUP BY部分中,而HAVING用来决定应该只用结果集合中的哪些行。
CUUG 优技培训
金牌讲师
实操环境
院校合作
学校新闻
行业新闻
请输入您的手机号
申请试听