Sql 使用内部联接时如何计算结果

Sql 使用内部联接时如何计算结果,sql,oracle,Sql,Oracle,下面我有一个简单的查询,它基本上过滤每个分行的储蓄账户 SELECT Account.bID as Branch,branch.bAddress.street as Street, branch.bAddress.city as City, branch.bAddress.postcode as Postcode, Account.accType as Type FROM Account INNER JOIN branch ON Account.bID=branch.bID where accT

下面我有一个简单的查询,它基本上过滤每个分行的储蓄账户

SELECT Account.bID as Branch,branch.bAddress.street as Street, branch.bAddress.city as City, branch.bAddress.postcode as Postcode, Account.accType as Type
FROM Account
INNER JOIN branch
ON Account.bID=branch.bID where accType='savings';
我正在尝试添加一个计数,因此它不是显示列表,而是显示每个分行的储蓄账户金额。我不太确定我要在哪里为这个特定的查询添加计数

非常感谢您的帮助。

只需在
选择中添加
计数(*)
,并在
分组:

SELECT branch.bid, branch.bAddress.street as Street, 
branch.bAddress.city as City, branch.bAddress.postcode as Postcode,   
count(account.*) as savings_count
FROM Account
INNER JOIN branch
ON Account.bID=branch.bID where accType='savings'
group by branch.bid, branch.bAddress.street, 
branch.bAddress.city, branch.bAddress.postcode;
SELECT a.bID as Branch, b.bAddress.street as Street, b.bAddress.city as City,
       b.bAddress.postcode, a.accType as Type, COUNT(*)
FROM Account a INNER JOIN
     branch b
     ON a.bID = b.bID
WHERE accType = 'savings'
GROUP BY a.bID, b.bAddress.street, b.bAddress.city, b.bAddress.postcode;

这将表名替换为别名,因此更易于阅读。但是,一些列,例如
b.bAddress.street
不是有效的SQL。

谢谢,这使它更容易阅读,也更有意义。非常感谢您的意见!