当我尝试在Oracle上执行此代码时,我一直收到错误
SELECT id,
Max(id),
artist AS"Artist"
FROM d_songs
WHERE duration IN( '3 min', '6 min', '10 min' )
HAVING id < 50
GROUP BY id;
我做错了什么?这是说这不是一个表达的群体。
答案 0 :(得分:2)
修改强>
编辑后,请参阅文档:
您试图执行包含GROUP BY函数的SELECT语句,例如MIN,MAX,SUM或COUNT。 您试图在SELECT列表中执行一个不在GROUP BY子句中的表达式。
在Group By
之前加Having
,并在Group By Clause中包含所有字段(不是最大值)
SELECT id, max(id), artist as "Artist"
From d_songs
Where duration in('3 min', '6 min', '10 min')
where id < 50
Group by id, artist
您可以查看the docs了解更多信息