如何编写SQL查询统计各城市的不同贷款申请数量?
没问题,这是SQL里非常常见的分组统计需求,我来给你拆解清楚怎么写。
首先得明确你的数据表结构,假设你的贷款申请表叫loan_applications,里面至少包含两个核心字段:city(存储申请用户所在城市)和application_id(每个贷款申请的唯一标识,用来区分不同申请)。
那核心的查询语句应该是这样的:
SELECT city, COUNT(DISTINCT application_id) AS distinct_loan_count FROM loan_applications GROUP BY city;
我给你解释下每个部分的作用:
SELECT city:指定我们要输出每个城市的名称COUNT(DISTINCT application_id):这里的DISTINCT是关键——它会确保每个唯一的申请ID只被统计一次,避免因为数据重复或者同一用户提交多个不同ID的申请导致的计数错误。AS distinct_loan_count是给统计结果列起一个直观的别名,方便你读取结果。FROM loan_applications:把这里替换成你实际的数据表名称就行GROUP BY city:按照城市对数据进行分组,这样统计出来的结果就会按每个城市单独聚合
如果你还有额外的过滤需求,比如只想统计某个时间段内的申请,或者只统计某类贷款的申请,可以在FROM和GROUP BY之间加WHERE子句,比如:
SELECT city, COUNT(DISTINCT application_id) AS distinct_loan_count FROM loan_applications WHERE loan_type = 'personal' -- 比如只统计个人贷款 AND application_date >= '2024-01-01' -- 只统计2024年及以后的申请 GROUP BY city;
要是你的数据表字段名或者表名不一样,直接替换成你实际的名称就能用啦。
内容的提问来源于stack exchange,提问作者Laziale
相关产品推荐
相关产品推荐

