MySQL培訓教程:select子句中使用列的別名
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢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用來決定應該只用結果集合中的哪些行。