我正在尝试找到具有最多不同ISBN(属性)的作者(属性)。他们都在一个名为Book的表中。
我理解需要使用不同的数量,但我对如何继续使用感到有点困惑:
SELECT author
FROM Book
GROUP BY ISBN
HAVING DISTINCT COUNT (ISBN);
不幸的是,这似乎是不正确的语法,我仍然不确定如何让作者获得最大值。 有什么建议?
答案 0 :(得分:2)
您需要order by
和limit
:
SELECT author
FROM Book
GROUP BY author
ORDER BY COUNT(DISTINCT ISBN) DESC
LIMIT 1;
我猜COUNT(*)
就足够了,但如果有重复,则需要COUNT(DISTINCT)
。
答案 1 :(得分:0)
下面的查询将处理具有最高ISBN数的多位作者。
SELECT author
FROM Book
GROUP BY author
HAVING COUNT(DISTINCT ISBN) = (
SELECT COUNT(DISTINCT ISBN)
FROM Book
GROUP BY author
ORDER BY COUNT(DISTINCT ISBN) DESC
LIMIT 1
)
这里是Demo。