SQL 减去同一个表中的 2 列

我有一个名为“detail_transaksi”的表。我想对“jumlah”列中的所有数据求和,其中“debit_kredit”='D'被分组在相同的“kode_akun”数据中。此外,我想对“jumlah”列中的所有数据求和,其中“debit_kredit”='K'被分组在相同的“kode_akun”数据中。然后,我想减去他们两个。我怎样才能在 SQL 或 PHP 中做到这一点?

http://img.mukewang.com/643a60f60001d15906140178.jpg

这是我表中的列:


id

kode_transaksi

kode_akun

debit_kredit

jumlah


函数式编程
浏览 118回答 3
3回答

慕妹3146593

您可以使用条件聚合:select kode_akun,       sum(case when debit_kredit = 'K' then jumlah                when debit_kredit = 'D' then - jumlah           end)from detail_transaksigroup by kode_akun;

慕婉清6462132

您可以使用 GROUP BY debit_kredit 按 debit_kredit 值对记录 SUM 进行分组,之后,您可以对数据进行减法或任何您想做的事情。SELECT debit_kredit , SUM(jumlah) AS total_sum FROM detail_transaksi GROUP BY debit_kredit

MM们

您需要在 debit_kredit 中对 K 和 D 求和以下应该实现这一点。SELECT  kode_akun,  SUM(CASE WHEN debit_kredit='K' then jumlah else 0 end) as jumlah_k,  SUM(CASE WHEN debit_kredit='D' then jumlah else 0 end) as jumlah_d,FROM detail_transaksi GROUP BY kode_akun至于 jumlah_k 和 jumlah_d 之间的区别,你必须减去求和表达式,这是相当低效的,我建议你在 php 中这样做
打开App,查看更多内容
随时随地看视频慕课网APP