mysql - COUNT 和 COUNT,GROUP BY 第一个计数
问题描述
我正在尝试通过订单数量来统计客户数量。我可以同时提取订单数量和具有订单数量的客户数量,但是当订单数量相同时,我无法汇总客户数量。
SELECT COUNT(orderid) AS ordrs,
CASE WHEN COUNT(orderid)=COUNT(orderid) THEN COUNT(DISTINCT(custid)) ELSE "NA" END AS customr_cnt
FROM orders;
我也试过跑步
SELECT COUNT(orderid) AS ordrs,
CASE WHEN COUNT(orderid)=COUNT(orderid) THEN COUNT(custid) ELSE "NA" END AS customr_cnt
FROM orders;
它只返回总订单数和总客户数
解决方案
我正在尝试通过订单数量来统计客户数量。
你想要两个级别的聚合吗?
select num_orders, count(*)
from (select custid, count(*) as num_orders
from orders
group by custid
) o
group by num_orders
order by num_orders;
推荐阅读
- css - Any trick to darken the Linear Gradient?
- php - 致命错误:在第 4 行的 C:\xampp\htdocs\cms_pro\admin\includes\photos.php 中找不到类“Db_object”
- reactjs - 如何在父组件的自定义子组件中设置事件类型?
- reactjs - 删除旧版本的 create-react-app
- matlab - MatLab 颜色条看不到正确的比例
- python - Python,如何在excel中添加新列
- c++ - 如何将逗号后的输入存储为整数?
- javascript - 如何在 React 中设置要声明的对象数组?
- sql - 使用 Redshift 转换日期
- linux - 将 Windows 64 位的汇编程序函数 InterlockedCompareAndStore128() 转换为 Linux 64 位的非汇编程序