【发布时间】:2014-03-17 21:45:30
【问题描述】:
我正在尝试解决这个查询,我需要在每个基地找到最高余额。余额在一个表中,基数在另一个表中。
这是我现有的查询,它返回所有结果,但我需要找到一种方法将其限制为每个 baseID 1 个顶级结果。
SELECT o.names.name t.accounts.bidd.baseID, MAX(t.accounts.balance)
FROM order o, table(c.accounts) t
WHERE t.accounts.acctype = 'verified'
GROUP BY o.names.name, t.accounts.bidd.baseID;
- accounts 是一个嵌套表。
这是输出
Name accounts.BIDD.baseID MAX(T.accounts.BALANCE)
--------------- ------------------------- ---------------------------
Jerard 010 1251.21
john 012 3122.2
susan 012 3022.2
fin 012 3022.2
dan 010 1751.21
我希望显示的结果是计算每个 baseID 的最高余额,并且只显示该 baseID 的一条记录。
所以输出看起来只会显示 baseID 012 的 john,因为他的值最高。
任何指向正确方向的指针都会很棒。
【问题讨论】:
标签: sql oracle oracle11g oracle-sqldeveloper