сумма всех повторяющихся столбцов в mysql - PullRequest
0 голосов
/ 16 февраля 2020

привет, у меня есть таблица в mysql, и я хочу суммировать несколько записей из этой таблицы, если в другом столбце есть повторяющиеся данные. например, у меня есть эта таблица с этими данными:


table name = register_user_course
columns = register_user_course_id, register_user_register_id, register_user_course_name, register_user_course_price

data like =

1 | 3 | 3dmax | 300
2 | 3 | photoshop | 500
4 | 4 | 3dmax | 300
5 | 6 | icdl | 500
6 | 4 | icdl | 900
7 | 9 | accounting | 1000

, и я хочу создать код, который выводит как это

1 | 3 | 800 // sum all register_course_price with the same register_user_register_name on aoutput one records
4 | 4 | 1200 // sum all register_course_price with the same register_user_register_name on aoutput one records
5 | 6 | 500
7 | 9 | 1000

позволяет мне иметь другую таблицу, как это

table name = deposit
columns = deposit_id, deposit_abutment_id, deposit_price

table data  like=
1 | 13 | 0,10,50,0,0 // every comma sign has one way to get money
2 | 13 | 10,30,0,0,0
3 | 13 | 100,0,0,0,0
4 | 15 | 50,0,0,0,50
5 | 17 | 100,10,5,0,0
6 | 15 | 33,50,0,0,0

и я тоже хочу показать это

1 | 13 | 200 // sum all way and all deposit that one abutment_user_id
4 | 15 | 183
5 | 17 | 115

1 Ответ

0 голосов
/ 16 февраля 2020

Похоже, вы хотите агрегировать:

select
    min(register_user_course_id) register_user_course_id,
    register_user_register_id,
    sum(register_user_course_price) register_user_course_price
from register_user_course
group by register_user_register_id

Примечание: нет смысла ставить префикс имени столбца перед именем таблицы: это делает имена столбцов намного длиннее, без какой-либо очевидной выгоды: register_user_course_id должен называться id, register_user_course_price должен быть просто price и т. д.

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