2017-09-14 79 views
0

我試圖在我的數據庫中找到當前藝術家的數目。SQL中的減法 - 無法對包含聚合或子查詢的表達式執行聚合函數

我想到了一個好辦法做到這一點是找到藝術家的數量,發現藝術家的數量與「結束日期」,然後減去從總的非流動的。

代碼:

SELECT COUNT(Name) AS NumberOfArtists, 
COUNT(YearEnded) AS NumberEnded, 
COUNT(COUNT(Name) - COUNT(YearEnded)) AS NumberOfCurrentArtists 
FROM Artists; 

我得到的錯誤:

Cannot perform an aggregate function on an expression containing an aggregate or a subquery.

我看了上同樣的錯誤堆棧溢出其他許多問題,但它似乎是一個非常廣泛的錯誤,我找不到我做錯了什麼。

回答

3
SELECT COUNT(Name) AS NumberOfArtists 
     , COUNT(YearEnded) AS NumberEnded 
     , COUNT(Name) - COUNT(YearEnded) AS NumberOfCurrentArtists 
FROM Artists; 

你不需要做差數計數,它只是沒有任何意義。

+0

工作,謝謝! –

相關問題