Выбор нескольких одинаковых строк значений из одного столбца - PullRequest
0 голосов
/ 08 июля 2019

У меня есть таблица, где один из столбцов называется mid. У него много ценностей, некоторые из них повторяются. Theres также столбец с именем chashrate. Это имеет различное значение для каждой средней строки. Theres также столбец с именем pid, который показывает идентификатор каждой строки.

Я пытался извлечь строки определенных значений с помощью HAVING, но я могу использовать только одно значение за раз или несколько значений, которые не соответствуют друг другу

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

Что мне нужно сделать, так это собрать все одинаковые строки значений столбца MID с идентификатором pid=6, например, все из mid = 8; pid=6, соберите их chashrate и суммируйте. Так, например, я бы получил mid(8)=17394, mid(6)=28424 и т. Д.

Вот фотография стола: https://i.imgur.com/9xX6sYm.png

Необходимо выбрать одинаковые цветные строки и суммировать их значения chashrate.

Ответы [ 2 ]

1 голос
/ 08 июля 2019

Попробуйте использовать SUM для суммирования значений денежной наличности и GROUP BY для их группировки в середине.

SELECT mid
     , SUM(`cashrate`) AS total
FROM `data`
WHERE pid = 6
GROUP BY mid;

Проверьте это здесь .

Для заданных данных на изображении этот запрос выведет следующий результат:

mid | total
6   | 981
8   | 374
0 голосов
/ 08 июля 2019

Вы, кажется, хотите агрегацию:

select mid, sum(chashrate) as sum_chashrate
from data
where pid = 6
group by pid, mid;

Это вернет несколько строк, по одной на каждое значение mid.

Вы можете сделать это для нескольких pid или даже для всех, удалив или изменив предложение where.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...