0
列的值我有一個表「成果」具有下列數據總結在MySQL
id a
123 apple
223 orange
646 apple
757 banana
876 kiwi
989 orange
我想編寫一個MySQL將總結列的出現次數「一」,並將它們放入3獨立的水桶:一個蘋果,一個桔子,其餘下的「其他」
SELECT
count(*) as total
sum(if(a = 'apple',1,0)) as applecount
, sum(if(a = 'orange',1,0)) as orangecount
, sum(`applecount` + `orangecount` - total) as others
FROM fruits
但在運行查詢,提供了以下錯誤的字段列表 未知列「applecount」
[標準SQL不允許引用「WHERE」子句中的列別名。這個限制是因爲當評估WHERE條款時,列值可能還沒有確定。](http://dev.mysql.com/doc/en/problems-with-alias.html)參見[ sqlfiddle](http://sqlfiddle.com/#!2/2270a/5/0)。 – eggyal
感謝您的提示。不知道。 –
不用擔心。當然,他們可以在「GROUP BY」,「HAVING」和「ORDER BY」從句中進行後評估。 – eggyal