繁体   English   中英

MySQL总和使用分组依据

[英]MySQL Sum total using Group By multiple columns

以下查询:

SELECT `brand`,
       count(*) * `denomination` AS 'total'
FROM `inventory`
WHERE `owner` = 'owner-one'
    AND `currency` = 'GBP'
    AND `activated_at` IS NULL
    AND `expires_at` >= '2018-06-21'
GROUP BY `owner`,
         `brand`,
         `currency`,
         `denomination`

产生:

| brand     | total |
|-----------|-------|
| brand-one | 3000  |
| brand-one | 8000  |
| brand-two | 10000 |

我想要的是将项目进一步分组并求和总计,因此输出如下:

| brand     | total |
|-----------|-------|
| brand-one | 11000 |
| brand-two | 10000 |

数据:

样本数据

您获得3条记录的原因是group by包含面额。 如果我们更改逻辑以使我们求和而不是count(*)*面额,那么我们可以得到两个记录。 (前提是您从组中删除了面额)...但是也许我缺少了一些东西。

SELECT `brand`,
       Sum(`denomination`) AS 'total'
FROM `inventory`
WHERE `owner` = 'owner-one'
  AND `currency` = 'GBP'
  AND `activated_at` IS NULL
  AND `expires_at` >= '2018-06-21'
GROUP BY `owner`,
         `brand`,
         `currency`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM