【问题标题】:MySQL SELECT COUNT GROUPMySQL 选择计数组
【发布时间】:2017-01-28 05:46:34
【问题描述】:

我有列 ID(id order)和 IDU(id user)的表“orders”。 我想这样计算:

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

我的代码(错误)

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

请帮帮我:)

【问题讨论】:

  • 能否分享您的表结构以及一些示例数据?
  • 你想要这样的文字吗?

标签: php mysql sql group-by


【解决方案1】:

我称之为直方图查询的直方图。您想知道有多少用户具有给定的订单计数。解决方法是使用子查询和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 的最小值和最大值,因此我可以很容易地找到用户示例(通常是那些有很多订单的用户)。

【讨论】:

  • 你的意思是group by 两次?
  • 喜欢这个词histogram of histogram
猜你喜欢
  • 1970-01-01
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
  • 2018-03-12
  • 2015-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多