SQL使用COUNT获取表中的最大值

时间:2017-06-25 00:19:20

标签: oracle-sqldeveloper

SELECT a.FirstName, a.LastName, Count(cai.ArtistID)
FROM Artist a
JOIN CUSTOMER_ARTIST_INT cai ON(a.ArtistID=cai.ArtistID)
GROUP BY a.FirstName, a.LastName

给我一​​个输出

FirstName    LastName     COUNT(CAI.ArtistID)
Luke         Skywalker    2
Han          Solo         7
Darth        Vader        3

但是,我的查询只能给我一个具有最高Count的那个,因此输出应该是:

FirstName    LastName    COUNT(CAI.ArtistID)
Han          Solo        7

我知道我必须放置MAX功能,但我不知道如何。

1 个答案:

答案 0 :(得分:1)

您可以使用desc的前1个订单,如下所示

SELECT top (1) a.FirstName, a.LastName, Count(cai.ArtistID)
FROM Artist a
JOIN CUSTOMER_ARTIST_INT cai ON (a.ArtistID=cai.ArtistID)
GROUP BY a.FirstName, a.LastName
order by count(cai.Artistid) desc

如果您要查找某个类别,可能需要使用row_number