SQL – 按提供者的成员获得最高利用率
我的数据看起来像这样:
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
在我看来,对于你想要的是每个成员有一行,然后提供者和利用率计数对应于最高的利用率计数。
这似乎应该工作。 让我知道。
SELECT * FROM Member WHERE Member.UtilizationCounts = (SELECT MAX(UtilizationCounts) FROM Member m2 WHERE m2.MemberID = Member.MemberID)
select Member, Provider, UtilizationCounts from YourTable order by UtilizationCounts desc
这将带来一切,从最高到最低sorting。 我不确定你是否想过滤一些东西。 如果你只想要TOP 3,假设你正在使用SQL Server,你可以使用:
select TOP 3 Member, Provider, UtilizationCounts from YourTable order by UtilizationCounts desc
对于Oracle,您需要使用一个名为rownum
的本地列,如下所示:
SELECT Member, Provider, UtilizationCounts FROM ( SELECT rownum, Member, Provider, UtilizationCounts FROM myData ORDER BY UtilizationCounts DESC ) WHERE rownum <= 3
看到这个文档: ROWNUM伪列