我正在使用Java和SQL,並且我正在計算寵物動物園中的所有山羊。我知道我可以使用以下查詢:你可以在一個SQL語句中返回多個COUNT嗎?
SELECT COUNT(1) FROM PettingZoo pz WHERE pz.animalType = 'GOAT'
夠簡單。現在,讓我們說山羊有三種顏色之一:棕色,黑色或灰色。如果要計算每種顏色的數量,我可以執行以下查詢:
SELECT COUNT(1) FROM PettingZoo pz WHERE pz.animalType = 'GOAT' AND
pz.animalType.color = 'BROWN'
SELECT COUNT(1) FROM PettingZoo pz WHERE pz.animalType = 'GOAT' AND
pz.animalType.color = 'BLACK'
SELECT COUNT(1) FROM PettingZoo pz WHERE pz.animalType = 'GOAT' AND
pz.animalType.color = 'GREY'
此方法有效,但速度很慢。這樣做可以四次打開表格:一次獲得總計數,另外3次用於各種顏色。 有沒有什麼辦法可以返回中的所有四種顏色一個查詢?
編輯:爲了清楚起見,假設有15只山羊。九個是棕色的,0個是黑色的,另外六個是灰色的。第一個查詢返回15.第二個返回9.第三個和最後一個查詢分別返回0和6。我正在尋找一次返回所有四個值(所以我不會在四次不同的時間讀同一個表)。可能是一個數組? {15,9,0,6}
你的意思是像'山羊'和顏色('布朗','黑','灰色')? – kosa 2015-02-17 22:41:07
是否需要不同的值,如 - 棕色值,黑色值和灰色值? – Makoto 2015-02-17 22:43:10