从同一列中选择多个相同值的行

时间:2019-07-07 22:08:02

标签: mysql sql select

我有一个表,其中的一列名为mid。它具有很多价值,其中一些价值重演。还有一个名为chashrate的列。每个中间行的值都不同。还有一列名为pid的列,其中显示了每一行的ID。

我尝试使用HAVING提取特定的值行,但一次只能执行一个值,也可以执行多个不匹配的值

$miner = $pdo->query("SELECT * FROM data WHERE pid='6'")->fetchall();

我需要做的是收集所有相同的MID列值行,其ID为pid=6,例如所有mid = 8pid=6,收集他们的chashrate并进行汇总。例如,我会得到mid(8)=17394mid(6)=28424等。

这是桌子上的照片:https://i.imgur.com/9xX6sYm.png

需要选择相同颜色的行,并汇总其chashrate值。

2 个答案:

答案 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-甚至所有它们执行此操作。