怎么能让这个函数排除某些值?

时间:2015-03-16 00:58:35

标签: sql

所以我试图让这个SQL语句起作用,

我需要找到一个艺术家名单列表,CD的数量 艺术家和他们的CD的平均价格,但不包括 'Electronica'专辑。

到目前为止,我已经有了第一个工作,我可以返回艺术家名单,CD数量和平均价格,但我不能成功地排除Electronica专辑,并想知道是否有这样做的简单方法?

我试图完成的代码是:

SELECT Artist.artName, AVG(CD.cdPrice), Count(*) 
FROM CD 
INNER JOIN Artist 
ON Artist.artID=CD.artID 
Group by Artist.artID 
Having count(*) >1
WHERE Artist.artID =
CD.artID AND artGenre
NOT LIKE “Electronica”));

1 个答案:

答案 0 :(得分:1)

我已经清理了一下您的查询:

SELECT Artist.artName, AVG(CD.cdPrice), Count(*)
FROM CD INNER JOIN Artist
ON Artist.artID=CD.artID
WHERE Artist.artGenre NOT LIKE "%Electronica%"
GROUP BY Artist.artID

在您的原始查询中,您有WHERE Artist.artID = CD.artID,这完全没必要,因为您已在JOIN中指定了此内容。我还删除了HAVING count(*) > 1子句,因为它不是原始问题陈述的一部分。