我试图找到我数据库中当前艺术家的数量。
我认为一个很好的方法就是找到艺术家的数量,找到结束日期的艺术家数量,然后从总数中减去非当前艺术家。
代码:
SELECT COUNT(Name) AS NumberOfArtists,
COUNT(YearEnded) AS NumberEnded,
COUNT(COUNT(Name) - COUNT(YearEnded)) AS NumberOfCurrentArtists
FROM Artists;
我收到错误:
无法对包含聚合或子查询的表达式执行聚合函数。
我已经查看了有关堆栈溢出的许多其他问题并出现了相同的错误,但这似乎是一个非常广泛的错误,我无法找到我做错的事情。
答案 0 :(得分:3)
SELECT COUNT(Name) AS NumberOfArtists
, COUNT(YearEnded) AS NumberEnded
, COUNT(Name) - COUNT(YearEnded) AS NumberOfCurrentArtists
FROM Artists;
你不需要计算差异,这没有任何意义。