我的数据看起来像这样:
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
答案 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