用于计算具有相同值的行数的SQL查询

时间:2018-03-01 17:38:16

标签: sql sql-server tsql sql-server-2012 sql-server-2014

我有这个表数据:

enter image description here

我想执行一个sql查询,它会给出每个城市不同贷款申请的总数。

例如,我希望这个输出

City Wexford
Loans 1

City Waterford 1 
Loans 1

City Galway
Loans 3

知道我需要执行什么样的查询才能获得每个城市不同贷款的数量?

2 个答案:

答案 0 :(得分:3)

我猜,可能是GROUP BY的COUNT(Distinct ID)。像这样:

O(n log(n))

答案 1 :(得分:-1)

以下是此问题的另一种方法。我添加这个是因为使用DISTINCT可能会导致另一个示例的性能问题,尤其是对于大型数据库。很好记住。

select city,count(LoanApplicationID) as Loans
from (
        select LoanApplicationID, city
        from tablename
        group by LoanApplicationID, city 
     ) t
group by city