sql - ORACLE SQL 我遇到了一个选择语句的问题,该语句应该显示每个分支的最大余额
问题描述
大家好,感谢大家会帮助我。
我有这个查询:
SELECT c.accNum.bID.bID AS "Branch ID",
--c.accNum.accNumber AS "Account Number",
--c.accHolder.PrintFullName() AS "Customer Name",
MAX(c.accNum.balance) AS "Balance"
FROM tabCustomersAccounts c
GROUP BY c.accNum.bID.bID--, c.accNum.accNumber, c.accHolder.PrintFullName(), c.accNum.balance
ORDER BY c.accNum.bID.bID;
当我将代码更改为此:
SELECT c.accNum.bID.bID AS "Branch ID",
c.accNum.accNumber AS "Account Number",
c.accHolder.PrintFullName() AS "Customer Name",
MAX(c.accNum.balance) AS "Balance"
FROM tabCustomersAccounts c
GROUP BY c.accNum.bID.bID, c.accNum.accNumber, c.accHolder.PrintFullName(), c.accNum.balance
ORDER BY c.accNum.bID.bID;
从这个结果你可以看到我他们错了,因为我只想为每个分支显示 MAX 余额。
解决方案
使用row_number()
. 您的实际列名有点不清楚,但是是这样的:
SELECT ca.*
FROM (SELECT ca.*,
ROW_NUMBER() OVER (PARTITION BY ca.bid ORDER BY c.balance DESC) as seqnum
FROM tabCustomersAccounts ca
) ca
WHERE seqnum = 1;
推荐阅读
- angular - 如何在primeNg中单击分页器更改事件时更改p表的行索引数
- python - 如何使用内部键:值对将字典列表转换为字典字典
- flutter - Flutter:未来的构建者不更新表单值
- python - 使用 pandas 从列中查找字符串
- reactjs - 映射嵌套在来自 API 的对象中的对象 | JSX 映射问题
- jquery - Ajax post 调用多次
- python - 为什么亚马逊 S3 客户端依赖于位置?
- node.js - PM2 无法获取 ~/.profile 文件中设置的更新值
- python - 基于 cumsum 从轮廓填充区域
- unit-testing - 使用 DI (injectable-getIt) 进行颤振测试的正确方法?