我有一个表,其中的一列名为mid
。它具有很多价值,其中一些价值重演。还有一个名为chashrate
的列。每个中间行的值都不同。还有一列名为pid
的列,其中显示了每一行的ID。
我尝试使用HAVING
提取特定的值行,但一次只能执行一个值,也可以执行多个不匹配的值
$miner = $pdo->query("SELECT * FROM data WHERE pid='6'")->fetchall();
我需要做的是收集所有相同的MID
列值行,其ID为pid=6
,例如所有mid = 8
; pid=6
,收集他们的chashrate
并进行汇总。例如,我会得到mid(8)=17394
,mid(6)=28424
等。
这是桌子上的照片:https://i.imgur.com/9xX6sYm.png
需要选择相同颜色的行,并汇总其chashrate值。
答案 0 :(得分:1)
尝试使用SUM
来汇总现金价值,并使用GROUP BY
来按中值分组。
SELECT mid
, SUM(`cashrate`) AS total
FROM `data`
WHERE pid = 6
GROUP BY mid;
选中here。
对于图像上的给定数据,此查询将输出以下结果:
mid | total
6 | 981
8 | 374
答案 1 :(得分:0)
您似乎想要聚合:
select mid, sum(chashrate) as sum_chashrate
from data
where pid = 6
group by pid, mid;
这将返回多行,每个mid
值一个。
您可以通过删除或更改pid
子句来对多个where
-甚至所有它们执行此操作。