【发布时间】:2021-12-09 14:48:30
【问题描述】:
我正在尝试检索有关歌手及其歌曲数量的 SQL 信息,仅选择至少有 2 首歌曲的歌手,并按组中歌曲数量从最大的歌曲开始排序记录。我不断收到此错误:
运算符不存在:字符变化 = bigint
我的代码:
SELECT * FROM songs
WHERE title = (SELECT COUNT(title) FROM songs)
GROUP BY singer
HAVING COUNT(title) >=2
ORDER BY singer, title DESC;
有人可以帮忙吗?
【问题讨论】:
-
用特定的数据库标记你的问题是个好主意(sql是一个通用术语)。
-
where title = (select count(title) from ... )是什么意思? Mote,您不能将group by与select *一起使用,因为group by中不存在的列应该使用一些聚合函数进行聚合。您需要检查 DBMS 文档中的语法。