Как получить сумму двух столбцов, основанных на доле в третьем столбце и группировать по четвертому столбцу? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть таблица MySQL, в которой таблица имеет четыре столбца состояния, Dr_amount, Cr_amount, Type. Я хочу узнать сумму Dr_amount каждого состояния и Cr_amount с двумя различными условиями, где type = in и type = out

Я пробовал с приведенным ниже кодом, но вычисляет каждую запись столбцов

select *,(select sum(Credit_Rs) from expense where type = 'Received') as crsum,(select sum(Debit_Rs) from expense where type = 'Expense') as drsum from expense group by state order by state

Ниже приведена таблица с образцами записей

Month   Debit (Rs) Credit (Rs) Type
Bihar               150000     IN    
Bihar   50000        50000     OUT   
Bihar   15000        10000     OUT   
UP      0           100000     IN

Я хочу такой результат

Month   Debit (Rs) Credit (Rs) 
Bihar   65000      150000        
UP      0          100000

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете попробовать использовать case when expression

select state,sum(Debit_Rs),sum(case when Type='IN' then Credit_Rs end)
from tablename
group by state
order by state
...