You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询求助:统计在非家乡城市交易的客户数量

解决SQL统计异地交易客户数量的问题

要完成这个统计,你需要关联三张表获取客户家乡分支的城市,再和交易地点对比,最后去重统计符合条件的客户数。以下是完整的查询语句:

SELECT COUNT(DISTINCT c.customerid) AS 异地交易客户数
FROM customerdata c
JOIN transactiondata t ON c.customerid = t.customerid
JOIN branchdata b ON c.homebranch = b.branchnumber
WHERE t.transactioncity != b.location;

语句说明:

  1. 表关联逻辑:
    • 通过customerid关联customerdata(别名c)与transactiondata(别名t),获取每个客户的交易地点信息。
    • 通过homebranch(客户表的家乡分支编号)关联branchdata(别名b),拿到客户家乡分支所在的城市b.location。
  2. 筛选条件:WHERE t.transactioncity != b.location过滤出交易地点与家乡分支城市不一致的记录。
  3. 去重计数:COUNT(DISTINCT c.customerid)确保同一客户即使多次异地交易也仅被统计一次,最终得到异地交易的客户总数。

如果需要查看具体的客户明细,可以把统计语句替换为:

SELECT DISTINCT c.customerid, c.name, b.location AS 家乡城市, t.transactioncity AS 交易城市
FROM customerdata c
JOIN transactiondata t ON c.customerid = t.customerid
JOIN branchdata b ON c.homebranch = b.branchnumber
WHERE t.transactioncity != b.location;

内容的提问来源于stack exchange,提问作者Colin Hertel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:34:50