所以我几乎都在尝试让这个SQL语句工作,
我需要找到一个艺术家姓名列表,CD的数量艺术家及其CD的平均价格,但不包括"电子"专辑。
到目前为止,我已经有了第一个工作,我可以返回艺术家姓名列表,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”));
我已经清理了一下您的查询:
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
子句,因为它不是原始问题陈述的一部分。