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

SQL子查询需求:统计各客户发票数及对应客户总数

解决方案

你只需要在现有子查询基础上再做一次分组统计,就能得到目标格式的结果,具体SQL语句如下:

SELECT 
    COUNT(CustomerID) AS Customers,
    `Total Invoices` AS Invoices
FROM (
    SELECT 
        CustomerID,
        COUNT(DISTINCT InvoiceID) AS `Total Invoices`
    FROM exam
    GROUP BY CustomerID
) a
GROUP BY `Total Invoices`
ORDER BY Invoices DESC;

逻辑说明:

  • 内层子查询:按CustomerID分组,统计每个客户的唯一发票数量,得到每个客户对应的发票数。
  • 外层查询:以子查询的结果为数据源,按Total Invoices(发票数)分组,用COUNT(CustomerID)统计该发票数对应的客户总数,最终输出Customers(客户总数)和Invoices(对应发票数)两列。
  • 末尾的ORDER BY Invoices DESC可以让结果按发票数从多到少排序,更直观查看数据分布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:18:38