查找已批准交易数量最多的列 sql 服务器
find column which have biggest number of approved transactions sql server
我需要找到批准交易数量最多的Filiyal
。
我试过这样:
select max(Filiyal)
from Transactions
where Status = 'Approved'
但它给了我错误的结果。我哪里错了?
这是我的 table:
Filiyal | Status
-------------------------
Bank1 | Approved
Bank2 | Not Approved
Bank1 | Approved
Bank4 | Approved
您可以尝试 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
.
的情况
您所写的查询将为您提供一组具有批准状态的银行中 Filiyal 的最大值(按字母顺序)。如果您要查找的是具有最多批准记录的 Filiyal,那么您需要有一些东西来计算批准的记录。
select top 1 Filiyal
from Transactions
where Status = 'Approved'
group by Filiyal
order by COUNT(Filiyal) desc
group by 子句 return 为每个 Filiyal 提供了一条记录,而 order by 按具有 'Approved' 作为状态的每个值的记录数对它们进行排序。 "top 1" 将只 return 具有最多批准记录的记录。如果出现平局,您将随机获得其中之一。
我需要找到批准交易数量最多的Filiyal
。
我试过这样:
select max(Filiyal)
from Transactions
where Status = 'Approved'
但它给了我错误的结果。我哪里错了?
这是我的 table:
Filiyal | Status
-------------------------
Bank1 | Approved
Bank2 | Not Approved
Bank1 | Approved
Bank4 | Approved
您可以尝试 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
.
您所写的查询将为您提供一组具有批准状态的银行中 Filiyal 的最大值(按字母顺序)。如果您要查找的是具有最多批准记录的 Filiyal,那么您需要有一些东西来计算批准的记录。
select top 1 Filiyal
from Transactions
where Status = 'Approved'
group by Filiyal
order by COUNT(Filiyal) desc
group by 子句 return 为每个 Filiyal 提供了一条记录,而 order by 按具有 'Approved' 作为状态的每个值的记录数对它们进行排序。 "top 1" 将只 return 具有最多批准记录的记录。如果出现平局,您将随机获得其中之一。