sql - Mysql - 计算有多少行有一定数量?

标签 sql mysql database aggregate-functions

我有一个查询,它检查一个表并将来自用户的所有条目分组并计算这些条目

  SELECT username, 
         count(userid)  
    FROM orders 
GROUP BY userid

这将返回用户名的列表以及他们提交的订单数量

username  count(userid)
------------------------
test      1  
test2     1  
test3     3  
test4     3  
test4     3  
test4     3  

我想要查询做的是计算有多少用户有 X 个订单并返回该数字。

那么从上面的结果来看,有1个订单的用户应该是2个,有3个订单的用户应该是4个,依此类推可以这样吗?

最佳答案

我认为您可以在查询周围添加类似这样的内容:

SELECT InnerCount, COUNT(*)
FROM
(
    -- your query
    SELECT username, count(userid) AS InnerCount
    FROM orders
    GROUP BY userid
) t1
GROUP BY InnerCount

(警告:多年未接触 mysql)

关于sql - Mysql - 计算有多少行有一定数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3834500/

相关文章:

database - 使用 Spotlight 作为应用程序的 "database"

php - SQL 执行速度慢

php - MySql Server 安装无法识别 python 3.4.6

mysql - 多个查询修改同一行

php - 谷歌地图 API 和 XML

mysql - 在 PhpMyAdmin 中创建触发器导致语法错误

java - 将 Coldfusion 查询结果转换为格式化的 javascript 数组

sql - 创建 View 时出现 Oracle 错误 - ORA-01720

mysql - 向Mysql插入数据哪种方式更好、更安全?使用 Node 进行 SQL 操作?

sql - 命名数据库表和 View