SQL - 按提供者的成员获得最高利用率

时间:2011-08-04 15:27:16

标签: sql excel vba select

我的数据看起来像这样:

Member - Provider - UtilizationCounts

123    - AA       - 10
234    - BB       - 8
456    - AA       - 7
123    - CC       - 5

我需要显示利用率最高的会员信息和提供商信息。所以结果看起来应该是这样的:

Member - Provider - UtilizationCounts

123    - AA       - 10
234    - BB       - 8
456    - AA       - 7

3 个答案:

答案 0 :(得分:4)

在我看来,你想要的是每个成员有一行,然后提供者和利用率计数对应于最高利用率。

看起来这应该有效。让我知道。

SELECT *
FROM Member
WHERE Member.UtilizationCounts = 
          (SELECT MAX(UtilizationCounts) 
           FROM Member m2 
           WHERE m2.MemberID = Member.MemberID)

答案 1 :(得分:1)

对于Oracle,您需要使用名为rownum的本机列,如下所示:

SELECT Member, Provider, UtilizationCounts
FROM (
    SELECT rownum, Member, Provider, UtilizationCounts
    FROM myData
    ORDER BY UtilizationCounts DESC
)
WHERE rownum <= 3

请参阅此文档:ROWNUM Pseudocolumn

答案 2 :(得分:1)

select Member, Provider, UtilizationCounts
from YourTable
order by UtilizationCounts desc

这将带来一切,从最高到最低排序。我不确定你是否想过滤掉一些东西。如果你只想要TOP 3,假设你使用的是SQL Server,你可以选择:

select TOP 3 Member, Provider, UtilizationCounts
from YourTable
order by UtilizationCounts desc