我有带有列ID(ID订单)和IDU(ID用户)的表“订单”。
我想这样计算:

50 person have 1 order
30 person have 2 order
etc...


我的代码(错误)

SELECT DISTNICT count(id), count(idu)  FROM orders GROUP BY idu


请帮我 :)

最佳答案

我称其为直方图查询的直方图。您想知道给定订单数的用户数。解决方案是使用子查询和group by两次:

select cnt, count(*), min(idu), max(idu)
from (select idu, count(*) as cnt
      from orders
      group by idu
     ) ou
group by cnt;


当运行这种类型的查询时,我通常会包含用户ID的最小值和最大值,因此我可以很容易地找到用户的示例(通常是有很多订单的用户)。

关于php - MySQL SELECT COUNT组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39591762/

10-10 06:53