我需要找到拥有最多批准交易数量的Filiyal
我试过这样的:
select max(Filiyal)
from Transactions
where Status = 'Approved'
但它给了我错误的结果。哪里我错了?
这是我的表:
Filiyal | Status
-------------------------
Bank1 | Approved
Bank2 | Not Approved
Bank1 | Approved
Bank4 | Approved
答案 0 :(得分:1)
您所写的查询将从具有已批准状态的银行集合中为您提供最大的Filiyal值(按字母顺序)。如果你想找到的是具有最多批准记录的Filiyal,那么你需要有一些能够计算得到批准的记录。
select top 1 Filiyal
from Transactions
where Status = 'Approved'
group by Filiyal
order by COUNT(Filiyal) desc
group by子句通过按每个Filiyal和#39作为一种身份。 "前1"将仅返回具有最多批准记录的记录。如果出现平局,你会随机获得其中一个。
答案 1 :(得分:0)
您可以尝试使用order by desc
和top 1
:
select top 1 Filiyal
, count(*) as total_approved
from Transactions
where status = 'Approved'
group by Filiyal
order by total_approved desc
P.S。如果多个Filiyal
具有相同的最大total_approved
数量,则不会涵盖案例。