mysql sum and count per category append to matching category 行

标签 mysql sql select

我正在尝试派生一个 MySQL 查询来转换这个:

product | sold
milk    |  6
milk    |  4
bread   |  3
bread   |  2
bread   |  2

对此;

product | sold | total order   | Total sold
milk    |  2   |       2       |     6
milk    |  4   |       2       |     6
bread   |  3   |       3       |     7
bread   |  2   |       3       |     7
bread   |  2   |       3       |     7

我已经能够毫无问题地查询总和和计数,但我似乎无法将其作为与产品匹配的新列加入。这可能吗?我试过 WITH ROLLUP 但它只是创建了另一行,而不是我想要的。

最佳答案

您可以将此表上的简单查询与以下聚合查询结合起来:

SELECT a.product, a.sold, b.total_order, b.total_sold
FROM   mytable a
JOIN   (SELECT   product, COUNT(*) AS total_order, SUM(sold) AS total_sold
        FROM     mytable
        GROUP BY product) b ON a.product = b.product

关于mysql sum and count per category append to matching category 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51011822/

相关文章:

mysql - 如何使用 group-concat mysql 创建 json 格式?

php - 价格显示超过 2 位小数?

mysql - 编辑在线数据库(编辑数据库表上的变量)

mysql - 在 MySQL V8.0 上我应该在哪个文件中添加 `innodb_` 相关条目

php - MySQL 中 DELETING 和 INSERTING 时出现重复键错误

c# - 如何连接到 MySQL 数据库?

php - 金库每日余额登记册

sql - 在 MS Access 中从 VB 运行查询

sql - SQL —在SELECT中创建列以测试是否相等

javascript - 使用 javascript 在 HTML 选择上添加事件