menggunakan sum if untuk menjumlahkan nilai field_kolom suatu tabel pada mysql _ jago web dev
TRANSCRIPT
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 1/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 1/24
About Contact
Home » MySQL Tutorial » Menggunakan SUM IF untuk menjumlahkan nilai field/kolom
suatu Tabel pada MySQL
Menggunakan SUM IF untuk menjumlahkan
nilai field/kolom suatu Tabel pada MySQL
Oleh: agusph | Kategori: MySQL Tutorial | Update: 11-12-2015
Pada kesempatan kali ini dan beberapa contoh dalam artikel berikutnya kita akan
membahas berbagai fungsi yang disediakan oleh database MySQL. Untuk itu
sebelumnya kita buat beberapa tabel yang diperlukan. Skema tabel dan relasi tabel
adalah sebagai berikut:
Diagram ERD pada database penjualan
Artikel ini hanya khusus membahas penjumlahan pada kolom tertentu dalam suatu
tabel dengan syarat suatu kondisi terpenuhi. Tabel yang kita perlukan hanya tabel
tunai yang dalam hal ini merupakan contoh tabel untuk penjualan tunai.
Penjelasan field:
id_pelanggan dan id_cabang merupakan merupakan nomor seri pelanggan.
kd_produk merupakan kode jenis produk misal: 111 untuk TV, 112 untuk Kulkas,
113 untuk VCD/DVD player, 115 untuk laptop.
kd_item merupakan deskripsi dari produk misal 0132AV550, dua digit pertama
merupakan merk (01 untuk Toshiba, karakter berikutnya (32AV550) merupakannomor seri produk.
tgl_byr merupakan tanggal pembayaran dengan format yyyy-mm-dd.
jml_byr merupakan jumlah pembayaran.
Follow
Recent Random Comment
Ikuti
Kategori
Code Editor
CSS Tutorial
jQuery Tutorial
Lainnya
MySQL Tutorial
Optimasi Web
PHP Tutorial
phpMyAdmin
Uncategorized
Web Hosting
Wordpress
XAMPP Tutorial
Artikel Pilihan
Character Set dan
Collation Pada MySQL
– Yakin Sudah Paham?
Membuat 15 Efek
Social Media Button
Dengan CSS Part I
Memahami GET dan
POST Pada PHP dan
HTTP
Memahami Character
Set dan Character
Encoding
Memahami Session
Pada PHP danPenggunaannya
Tutorial Web Development…
Like
Dapatkan update artikel
terbaru via E-Mail
Nama Lengkap
Langganan
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 2/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 2/24
query untuk content:
Tabel akan tampak seperti gambar berikut:
Pertama kita akan melakukan penjumlahan semua penjualan berdasarkan tahun,
query yang kita gunakan adalah:
Output yang kita peroleh:
+----------+----------+| jml_2011 | jml_2010 |+----------+----------+| 16124000 | 9955000 |+----------+----------+
Jika kita akan mengelompokkan berdasarkan id pelanggan sehingga dapat diketahui
berapa jumlah pembelian yang dilakukan per tahunnya maka query yang kita
gunakan:
CREATE TABLE IF NOT EXISTS `tunai` (
`id_pelanggan` varchar(50) DEFAULT NULL,
`id_cabang` varchar(50) DEFAULT NULL,
`kd_produk` varchar(50) DEFAULT NULL,
`kd_item` varchar(20) DEFAULT NULL,
`tgl_byr` varchar(50) DEFAULT NULL,
`jml_byr` int(11) DEFAULT NULL,
KEY `id_pelanggan` (`id_pelanggan`,`id_cabang`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1
2
3
4
5
6
7
8
9
INSERT INTO `tunai` (`id_pelanggan`, `id_cabang`, `kd_produk`, `
('020011', '05', '111', '01L17LEDW', '20110202', 1500000),
('020011', '05', '112', '01G150L', '20110310', 1250000),
('020011', '05', '113', '02PXS24X', '20110410', 750000),
('012546', '12', '112', '02IC200L', '20100202', 500000),
('012546', '12', '112', '01G250L', '20100310', 3500000),
('012546', '12', '113', '03GC225P', '20110410', 1500000),
('027845', '07', '115', '01C5-002', '20110202', 1550000),
('027845', '07', '115', '02ST17I', '20100310', 2730000),
('027845', '07', '111', '0132AV550', '20110410', 4949000), ('020011', '02', '115', '01603', '20100202', 2450000),
('020011', '02', '111', '05PLM24M60', '20110310', 1725000),
('015558', '01', '111', '05MX1403R', '20100410', 775000),
('015558', '01', '115', '02MT15I XPERIA NEO', '20110410', 290000
1
2
3
4
5
6
7
8
9
1011
12
13
14
SELECT SUM(IF(tgl_byr LIKE "2011%", jml_byr, 0)) AS jml_2011,
SUM(IF(tgl_byr LIKE "2010%", jml_byr, 0)) AS jml_2010FROM tunai
1
23
SELECT id_pelanggan,
id_cabang,
SUM(IF(tgl_byr LIKE "2011%", jml_byr, 0)) AS jml_2011,
SUM(IF(tgl_byr LIKE "2010%", jml_byr, 0)) AS jml_2010,
SUM(jml_byr) AS TOTAL
1
2
3
4
5
enga t an ompres
Gzip Untuk Mempercepat
Website
1
Setting HTTP Cache
Untuk Mempercepat
Load Website
2
Cara Terbaru
Menghubungkan MySQL
Dengan PHP – MySQLi
dan PDO
3
Fitur Penting Notepad++
Yang Perlu Anda Ketahui
4
Plugin Notepad++
Terbaik – List Lengkap
5
Mengubah Port Apache
dan MySQL di XAMPP
6
Cara Install XAMPP di
Windows – Panduan
Lengkap
7
Mencari Titik Tengah
Koordinat Dengan
Javascript dan PHP
8
Mendesain Blockquote
Menarik Dengan CSS
9
Mengganti Warna dan
Background Teks Yang
Terseleksi
10
SQL
SQL
SQL
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 3/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 3/24
Menghitung
Field/Kolom Pada
Tabel MySQL
Dengan Kon...
Cara Terbaru
Menghubungkan
MySQL Dengan PHP
–...
Install MySQL
Service di Windows
LOAD DATA INFILE:
Load File CSV
Ukuran Besar ke
Da...
Like
Hasil yang kita dapatkan:
+--------------+-----------+----------+----------+---------+| id_pelanggan | id_cabang | jml_2011 | jml_2010 | TOTAL |+--------------+-----------+----------+----------+---------+| 012546 | 12 | 1500000 | 4000000 | 5500000 || 015558 | 01 | 2900000 | 775000 | 3675000 || 020011 | 02 | 1725000 | 2450000 | 4175000 || 020011 | 05 | 3500000 | 0 | 3500000 |
| 027845 | 07 | 6499000 | 2730000 | 9229000 |+--------------+-----------+----------+----------+---------+
jika kita ingin menjumlahkan kolom dengan beberapa kondisi, kita tidak bisa
menggunakan if, tetapi menggunakan CASE, yang pembahasannya di artikel berikut
ini.
UPDATE
Mas awy dalam feedbacknya ingin membuat grand total dari total yang ada, saya
rasa perlu untuk saya tambahkan pada artikel ini sehingga dapat lebih
bermanfaat. Terdapat beberapa cara untuk membuat grand total dari total yang
ada, beberapa diantaranya dapat dibaca pada artikel: Menghitung Total dan
Subtotal Pada MySQL. Contoh kali ini kita akan menggunakan UNION ALL , sehingga
querynya menjadi berikut:
Hasil yang kita dapatkan:
+--------------+-----------+----------+----------+----------+| id_pelanggan | id_cabang | jml_2011 | jml_2010 | TOTAL |+--------------+-----------+----------+----------+----------+| 012546 | 12 | 1500000 | 4000000 | 5500000 || 015558 | 01 | 2900000 | 775000 | 3675000 || 020011 | 02 | 1725000 | 2450000 | 4175000 |
| 020011 | 05 | 3500000 | 0 | 3500000 || 027845 | 07 | 6499000 | 2730000 | 9229000 || Grand Total | | 16124000 | 9955000 | 26079000 |+--------------+-----------+----------+----------+----------+
Recomended Post
Ba ikan 0 Tweet
GROUP BY id_pelanggan, id_cabang7
SELECT id_pelanggan,
id_cabang,
SUM(IF(tgl_byr LIKE "2011%", jml_byr, 0)) AS jml_2011,
SUM(IF(tgl_byr LIKE "2010%", jml_byr, 0)) AS jml_2010,
SUM(jml_byr) AS TOTAL
FROM tunai
GROUP BY id_pelanggan, id_cabang
UNION ALL
SELECT "Grand Total" as id_pelanggan,
"" as id_cabang, SUM(IF(tgl_byr LIKE "2011%", jml_byr, 0)) AS jml_2011,
SUM(IF(tgl_byr LIKE "2010%", jml_byr, 0)) AS jml_2010,
SUM(jml_byr) AS TOTAL
FROM tunai
1
2
3
4
5
6
7
8
9
1011
12
13
14
Like
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 4/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 4/24
67 Feedback dari pembaca
Umam
23 November 2012 at 17:48
mantapp ini…….. saya izin cpas ya. trimss.
Reply
adilog
24 November 2012 at 06:23
monggo mas… semoga bermanfaat……
Reply
OEI
9 October 2013 at 17:34
mas kalo men – sum hasil dari total untuk tabel ini
Reply
adilog
10 October 2013 at 13:23
Maaf, maksudnya apa ya mas?
Reply
awy
10 December 2015 at 17:59
om agus, sama, saya juga punya maksud seperti itu,
bagaimana caranya hasil dari kolom total, ditotal
kembali, seperti membuat grand total pada footernya.
pada case diatas hasil grand totalnya jadi 26.079.000.
Saya ingin membuat total dari data yang sudah tampil
di table html, bukan membuat query dari database.
thanks,
Reply
agusph
11 December 2015 at 06:42
Terimakasih mas, feedback yang bagus.
Untuk membuat Grand Total sudah saya
sertakan pada update artikel diatas.
Jika ingin menambahkan di HTML, mas bisa
menggunakan php.
Sebenarnya untuk membuat grand total bisa
melalui php bisa juga langsung melalui query,
tetapi yang paling baik adalah via query
karena menganut prinsip “sekali jadi” dan
akan kompatibel jika di gunakan di bahasa
pemrograman lain.
Reply
Abanda Venusman
5 December 2013 at 10:47
1Share
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 5/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 5/24
keren mas, mengingatkan saya kembali tentang like ‘%harus%’
Reply
hadi
11 June 2014 at 06:54
kalaw mau seperti ini gmna :
kode | nama | jumlah kirim
001 | buku | 3001 | buku | 4
JUMLAH | 7
002 | Pensil| 5
JUMLAH | 5
003 | hp | 2
003 | hp | 1
JUMLAH | 3
*di setiap nama barang yg sma di jumlah kan dan hasilnya berada tepat di
bawah nama barang
Reply
adilog
11 June 2014 at 13:19
Coba menggunakan rollup, tapi rollup mengharuskan GROUP BY,
jadi harus ada yang unik antar kode dan nama. query:
SELECT kode, IFNULL(nama, ‘JUMLAH’) AS nama, sum(jumlah) as
jumlah FROM `tes` GROUP BY kode, nama WITH ROLLUP
menghasilkan
kode|nama|jumlah
001|buku|3
001|buku 2|4
001|JUMLAH|7
dengan asumsi row ke dua diganti buku 2
Reply
IGst Ngr Adi Perdana
31 August 2014 at 20:02
mas saya maw bertanya
misalkan dalam tabel ada seperti ini
Nama barangjumlahtgl
sampo 3 12-06-2014
sampo 4 13-06-2014
sabun 3 13-06-2014
saya ingin menjumlahkan isi dari tabel bedasarkan nama barang hingga jadi
kayak gini
Nama barangjumlah
sampo 7
sabun 3
tolong pencerahannya ,,
Reply
adilog
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 6/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 6/24
1 September 2014 at 01:09
Bisa dicoba menggunakan group mas
Misal struktur tabel seperti ini:
nama_produk | jml | tgl
sampo | 3 | 12-06-2014
sampo | 4 | 13-06-2014
sabun | 3 | 13-06-2014
Query:
SELECT nama_produk AS “Nama Barang”, SUM(jml) AS jumlah
FROM `produk`
GROUP by nama_produk
Hasil:
Nama Barang | jumlah
sabun | 3
sampo | 7
Sedikit saran, sebisa mungkin hindari penggunaan nama secara
langsung, lebih baik diganti dengan id misal sabun 1, sampo 2,
dan dibuat tabel referensi misal dengan nama tabel
nama_produk, dengan struktur:
id_produk | nama_produk
1 | sabun
2 | sampo
Reply
IGst Ngr Adi Perdana
1 September 2014 at 04:11
terima kasih banyak mas,, sarannya jalan,,
iyaa mas,,sudah saya isikan id sebaga pembeda,,
terima kasih banyak sarannya mas
Reply
leoisnanto
20 September 2014 at 05:18
mas klo seuai tabel punya mas,, klo mau jumlahin per bulan gimana mas??
Terima kasih..
Reply
adilog
22 September 2014 at 01:47
Seperti pivot tabel ya mas
tergantung fieldnya mas, bisa pakai IF atau CASE
kalau seperti diatas
Jika parameter lebih dari 1
SELECT
SUM (IF(tgl_byr LIKE "201101%", jml_byr, 0)
SUM (IF(tgl_byr LIKE "201102%", jml_byr, 0)
SUM (IF(tgl_byr LIKE "201103%", jml_byr, 0)
SUM (IF(tgl_byr LIKE "201104%", jml_byr, 0) SUM (IF(tgl_byr LIKE "201105%", jml_byr, 0)
FROM
tunai
1
2
3
4
56
7
8
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 7/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 7/24
Reply
Sandy
31 October 2014 at 01:55
Terima kasih banyak mas, tapi masih ada pertanyaan. Kalau ini saya
aplikasikan di database oracle muncul error ya ORA-00907: missing right
parenthesis
Reply
adilog
10 December 2014 at 21:33
oracle syntaxnya agak beda mas, ikuti saja pesan errornya,
mudah mudahan bisa fix
Reply
casper
10 December 2014 at 07:33
Om mau nanya, saya punya tabel :
———————————————————-
| Kode | Header | Nama | Saldo |———————————————————-
1-10-0 | – | Kas |
1-11-0 | 1-10-0 | Kas A | 1000
1-12-0 | 1-10-0 | Kas B | 200
2-10-0 | – | Kendaraan |
2-11-0 | 2-10-0 | Mobil |
2-11-1 | 2-11-0 | avanza | 50
2-11-2 | 2-11-0 | jazz | 80
2-12-0 | 2-10-0 | Motor |
2-12-1 | 2-12-0 | honda | 30
———————————————————-
Bagaimana jika saya update atau insert salah satu kode maka total saldo
otomatis ter SUM ke header masing2 kode seperti berikut :
———————————————————-
| Kode | Header | Nama | Saldo |
———————————————————-
1-10-0 | – | Kas | 1200
1-11-0 | 1-10-0 | Kas A | 1000
1-12-0 | 1-10-0 | Kas B | 200
2-10-0 | – | Kendaraan | 160
2-11-0 | 2-10-0 | Mobil | 130
2-11-1 | 2-11-0 | avanza | 50
2-11-2 | 2-11-0 | jazz | 80
2-12-0 | 2-10-0 | Motor | 30
2-12-1 | 2-12-0 | honda | 30
———————————————————-
SELECT
SUM (CASE WHEN tgl_byr LIKE "%01%" AND tahu
SUM (CASE WHEN tgl_byr LIKE "%02%" AND tahu
SUM (CASE WHEN tgl_byr LIKE "%03%" AND tahu
SUM (CASE WHEN tgl_byr LIKE "%04%" AND tahu
SUM (CASE WHEN tgl_byr LIKE "%05%" AND tahu
FROM
tunai
1
2
3
4
5
6
7
8
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 8/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 8/24
Mohon bantuannya Om
Reply
adilog
10 December 2014 at 21:32
Fungsi terkait untuk menangani permasalahan tersebut biasanya
pakai trigger mas, namun sepengetahuan saya, di MySQL kita
tidak dapat memanipulasi row pada tabel yang sama, ketika tabel
tersebut sedang dimanipulasi baik dengan trigger maupun
procedure, contoh ketika kita menginsert atau mengupdate row
tertentu, di waktu bersamaan tidak dapat meng insert atau
update row yang lain.
Mungkin cara yang bisa dipakai adalah membuat temporary
tabel, nilai saldo disimpan di tabel tersebut, kemudian
dipindahkan ke tabel asli, namun hal tersebut akan merepotkan
jika data yang dimanipulsai jumlahnya besar.
Walaupun kita tidak dapat memanipulasi row yang lain, kita dapat
memanipulasi nilai yang akan di tambahkan atau di ubah, misaldengan trigger berikut, kita memanipulasi data saldo yang akan
ditambahkan menjadi total saldo di header yang sama:
perintah diatas hanya bisa dilakukan ketika data belum
ditambahkan BEFORE UPDATE tidak bisa dilakukan ketika data
setelah ditambahkan AFTER UPDATE
sehingga jika kita lakukan perintah
INSERT INTO kendaraan VALUES ('1-13-0', '1-10-0' , 'Kas C', 1200);
maka nilai saldo akan menjadi 2400 bukan 1200 lagi.
Semoga dapat membantu.Salam
Reply
Anis Kurniawan
15 December 2014 at 08:37
misi om mau tanya om,,
kalau mau menjumlah data id_pelanggan yang melakukan transaksi
menurut tgl_bayar bagaimana om?
thanks
Reply
adilog
15 December 2014 at 09:11
Mungkin seperti ini mas:
DELIMITER $$
CREATE TRIGGER update_total_saldo BEFORE INSERT
FOR EACH ROW
BEGIN
DECLARE total INT(11);
SELECT SUM(saldo) + NEW.saldo INTO total F
SET NEW.saldo = total;
END
$$
DELIMITER ;
1
2
3
4
5
6
7
8
9
10
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 9/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 9/24
hasilnya:
id_pelanggan tgl_byr jml_byr
012546 20100202 500000
012546 20100310 3500000
012546 20110410 1500000
015558 20100410 775000
015558 20110410 2900000
020011 20100202 2450000
020011 20110202 1500000
020011 20110310 1250000
020011 20110410 750000
027845 20100310 2730000
027845 20110202 1550000
027845 20110410 4949000
Reply
anwar abdul
21 January 2015 at 03:05
misi om mau tanya nih kalau kaya gini gimana ya?
#ID | Project | Client | Point
Agus
01 | Piket | Kelas | 2
02 | Piket | Kelas | 3
Total
Reply
adilog
22 January 2015 at 04:30
maaf, maksudnya bagaimana ya mas? ada contoh tabel awalnya?
Reply
anwar abdul
22 January 2015 at 04:50
https://encrypted-tbn3.gstatic.com/images?
q=tbn:ANd9GcSKz6MhzBggdTw7E297LfX_oY2ttX3CeN-B7ka1OBGUhLsUFGwFbikin kaya gitu mas ,gemiddelda nya dirubah menjadi total dari nilai diatas
nay
Reply
Harry
2 February 2015 at 01:59
Mas..kalo menghitung pembagian antar field dari 2 table berikut:
Tabel 1:
————————————————————
ID | Perusahaan | penghasilan | Pajak |
————————————————————-
1 | PT. Anugerah | 20.000.000 | |
2. | CV. Makmur | 20.000.000 | |
Keterangan:
SELECT id_pelanggan, tgl_byr, jml_byr
FROM tunai
GROUP BY id_pelanggan, tgl_byr
1
2
3
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 10/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 10/24
–
– Perusahaan (varchar) (50)
– Penghasilan (varchar) (30)
– Pajak (Varchar) (30)
Tabel 2:
————————————————————
ID | Perusahaan | parameter_pajak |
————————————————————-
1 | PT. Anugerah | 200.000 |2. | CV. Makmur | 200.000 |
Keterangan:
– ID (int) (10) (key)
– Perusahaan (varchar) (50)
– Parameter_pajak (varchar) (30)
Pertanyaanya:
Misal kita mau menghitung isi kolom “Penghasilan (table-1)” dibagi isi kolom
“Parameter_pajak (table-2)” dan hasil baginya otomatis akan terinput ke
kolom “Pajak (table-1)”. Serta jika nilai “parameter_pajak (table-2)” dirubah
nilai angkanya.. maka total pembagian di “pajak (table-1)” juga akanotomatis berubah. Caranya bagaimana ya mas?? tolong dong mas…
makasih sebelumnya.
Reply
adilog
3 February 2015 at 00:46
Untuk pertanyaan pertama, coba query ini mas:
UPDATE tabel_1 SET pajak = penghasilan / (SELECT parameter_pajak FROM tabel_2 WHERE id =
yang kedua bisa menggunakan trigger dengan syntax:
Jika syntak diatas dijalankan di PHPMyAdmin, mungkin ada pesan
error, namun diabaikan saja, biasanya trigger sudah kesimpan.
Setelah itu
bisa dicoba dengan mengupdate tabel 2:
UPDATE tabel_2 SET parameter_pajak = 300000 WHERE id = 2;
setelah itu coba cek isi tabel_1
Sedikit saran dari saya mas:
1. Untuk nulai angka seperti kolom penghasilan, pajak, dan
parameter_pajak, gunakan type data INT, atau BIGINT, karena
akan memudahkan memanipulasi data
2. Untuk penaman tabel maupun field tabel gunakan penamaan
yang standar, biasanya huruf kecil semua + underscore, agar
memudahkan kita ketika menulis kode, saya biasanya menulis
syntax MySQL dengan huruf kapital sehingga jelas perbedaan
DELIMITER $$
CREATE TRIGGER update_pajak
AFTER UPDATE ON tabel_2
FOR EACH ROW BEGIN
UPDATE tabel_1
SET pajak = tabel_1.penghasilan / NEW.param
WHERE tabel_1.id = NEW.id;
END $$
DELIMITER;
1
2
3
4
5
6
7
8
9
10
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 11/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 11/24
mana syntax, mana ta e ie .
Semoga membantu
Salam…
Reply
Harry
4 February 2015 at 03:52
Trimakasih mas untuk sarannya, dan field nya udah sya
ganti.
Trus untuk tipsnya juga sudah sya praktekkan sesuai
instruksi, dan triggersnya sih udah masuk mas, tapi kok
nilainya gak muncul di table ya mas?? di kolom
“pajak(table_1)” tetep kosong tuh mas. Trus saat saya
masukin script yg kedua, muncul pesan erros “#1054 –
Unknown column ‘id = 2’ in ‘where clause’ “.
Sebagai pertimbangan mas, misalnya table_2
(parameter_pajak) itu saya jadiin satu dengan table_1,
jadi saya pake 1 table saja. trus nanti pake sistem
pembagian biasa, ama nanti tinggal di select saat
nampilin ke browser (kolom “parameter_pajak”
ditampilin buat admin, dan kolom “perusahaan & pajak”
untuk user). Kira2 dr i sisi efektif dan keamanannya lebih
bagus dipisah atau disatuin aja mas??
Mohon pencerahannya mas.., terimakasih banyak
sebelumnya.
Reply
adilog
5 February 2015 at 12:21
Jawaba n 1:
Untuk tabelnya coba seperti ini mas:
Jawaba n 2:
Untuk field pajak pada tabel_1 tidak perlu di
buat karena merupakan attribut komposit
(bisa didapatkan dari hasil operasi field lain)
CREATE TABLE IF NOT EXISTS `t
`id` int(11) NOT NULL,
`perusahaan` varchar(50) NO
`penghasilan` int(11) NOT N
`pajak` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARS
INSERT INTO `tabel_1` (`id`,
(1, 'PT. Anugerah', 20000000,
(2, 'CV. Makmur', 20000000, 0
CREATE TABLE IF NOT EXISTS `t
`id` int(11) NOT NULL,
`perusahaan` varchar(50) NO
`parameter_pajak` int(11) N
) ENGINE=MyISAM DEFAULT CHARS
INSERT INTO `tabel_2` (`id`,
(1, 'PT. Anugerah', 200000),
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 12/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 12/24
,
namun situasional juga, kalau sangat
terpaksa bisa di tambahkan.
Untuk penggabungan tabel, sangat
tergantung dari tabel-tabel yang lain, kalau
hanya tabelnya itu saja, sebaiknya digabung
saja mas, karena tidak ada attribut (kolom)
bernilai banyak, jadi fieldnya id ,
perusahaan, penghasilan,
parameter_pajak
Jika harus dipisah, sebaiknya entitas
perusahaan berdisi sendiri, misal tabel_1
dengan attribute: id_perusahaan,
nama_perusahaan sedangkan tabel_2
dengan attribute id_perusahaan,
penghasilan, pajak
jangan mengulang nama perusahaan, karena
akan mempengaruhi integritas data, misal
nama perusahaan di tabel_1 diubah, maka
tabel_2 sudah tidak sinkron lagi
penamaan id sebaiknya spesifik, misal
id_perusahaan, bukan sekedar id, karena
ketika id_perusahaan menjadi foreign key,
akan mudah teridentifikasi, disamping itu
ketika memudahkan kita dalam melakukan
join ketika menulis kode SQL, hal ini akan
terasa jika bekerja dengan banyak tabel,
puluhan hingga mungkin ratusan tabel
nama tabel sebaiknya mencerminkan isi tabel,
saya menggunakan tabel_1 dan tabel_2 hanya
untuk mempermudah saja
Agar lebih mendalam, bisa membaca buku ini
mas, Dasar Perancangan dan Implementasi
Database karya Abdul Kadir, atau Pengantar
Data Base / Database karya Ir. Fatansyah
Semoga dapat membantu…
Salam….
Reply
hadypratama4
3 February 2015 at 03:38
mantap
Reply
Anonim
22 August 2015 at 06:17
Hallo om agus ph,
Saya mau tanya
Kalo cara menghitung total part reject berdasarkan tanggal, shift, part
Tanggal | shift | barang | reject | jml
2015-08-20 | S1 | abc | rusak | 3
2015-08-20 | S1 | abc | patah | 5
2015-08-20 | S1 | abc | ancur | 7
- -
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 13/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 13/24
2015-08-20 | S2 | abc | rusak | 4
2015-08-20 | S2 | def | rusak | 1
Saya mau menampilkan total reject ketika saya memilih pada option combo
box:
tanggal ’20 agustus 2015′ di ‘shift 1’ untuk part ‘abc’
Maka tanpa harus submit, akan tampil nilai total di dalam textbox
(readonly).
Mohon pencerahannya.
Sebelum dan sesudahnya terimakasih om
Reply
agusph
24 August 2015 at 16:59
Misal tabel nya bernama produk, query yang digunakan bisa
memakai ini mbak:
nanti ketemu hasilnya 15
untuk memanggil query tersebut ketika combo box di ganti
nilainya, bisa menggunakan ajax, javascript. jika pengen lebih
mudah bisa pakai library seperti jquery, event nya bisa pakai
onChange, ajaxnya bisa menggunakan get
Semoga dapat membantu
Reply
belajarhebat
24 September 2015 at 15:29
Wih artikelnya keren. Oh ya gan ane mau tanya klo menjumlahkan (bukan di
sum) 2 field mysql dan menjadi field tabel baru (AS) gimana ya??. Maklum
masih amatiran ×_×
Reply
agusph
25 September 2015 at 05:44
Terima kasih mas.
Misal kita punya tabel nilai_ujian dengan field nama, nilai1 dan
nilai2. Maksudnya ingin menjumlahkan field nilai1 dan nilai2 ya
mas? kalau yang dimaksud seperti itu bisa dicoba query berikut:
SELECT nama, nilai1 + nilai2 as jumlah FROM nilai_ujian
Reply
Fredy
27 November 2015 at 12:11
Mas, minta bantuannya buat tampilan dibawah ini :
001 KARYA UMUM 49 49
001 FILSAFAT DAN PSIKOLOGI 928 928
001 AGAMA 899 899
-
SELECT SUM(jml) as JUMLAH
FROM produkWHERE tanggal = '2015-08-20' AND shift = 'S1' A
1
23
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 14/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 14/24
-
Kode nya seharusnya berurutan mas seperti : 001, 002, 003, 004
query yang saya pakai seperti ini mas :
$Query0 = mysqli_query($conn, “SELECT SUBSTR(eks_klasifikasi, 2, 3) AS
KODE, COUNT(buku_id) AS JUMLAH_JUDUL, COUNT(eks_buku) AS
JUMLAH_EKS FROM m_buku JOIN m_eksemplar ON m_buku.buku_id =
m_eksemplar.eks_buku WHERE eks_klasifikasi LIKE ‘%0’ AND buku_id IS NOT
NULL”)
Fungsi LIKE nya saya ganti untuk nomor urut 002 tapi pas di tampilan tetap
001. Thanks bantuannya Mas
Reply
agusph
28 November 2015 at 05:18
Saya belum ada gambaran data awalnya mas, cuman bisa dicoba
untuk menambahkan group by, karena ketika kita menggunakan
fungsi agregat seperti COUNT, maka dibelakang layar MySQL akan
melakukan group, yang field nya otomatis dipilihkan oleh MySQL,
sehingga kadang hasil untuk field non agregat tidak sesuai
harapan.
Reply
awy
12 December 2015 at 19:55
dear om agus,
terima kasih atas responnya..
maksud saya sih saya membuat grand total dariphp karena untuk mengujihasil querynya.
saya mau buat grand total untuk jurnal umum di akuntansi. jadi saya bisa
cek apakah debet dan kreditnya sama. jadi bila ada kesalahan input di
detailnya, saya bisa crosscheck.
btw, sekali lagi, terima kasih atas pencerahannya.. sukses ya om agus..
salam,
Reply
agusph
12 December 2015 at 21:58
Oh begitu ya mas,
iya bisa pakai PHP mas, memang tidak bisa semua output dapat
kita dapatkan langsung dari query MySQL,
untuk case yang kompleks kadang perlu bantuan PHP.
Sukses juga ya mas Awy…
Reply
aries
23 January 2016 at 21:32
Mas Agusph
Jika saya ingin membuat tabel PERHITUNGAN program gaji pegawai
sederhana misal :
seperti perkalian penjumlahan dan lain lain dan program tsb saya SELIPKAN
di program PHPMAKER apakah ada bedanya ? mksdnya apakah coding PHP
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 15/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 15/24
Reply
agusph
24 January 2016 at 06:13
PHPMaker menyediakan berbagai fungsi untuk fetching data pada
database mas, secara default aplikasi tersebut menggunakan
active record untuk pengelolaan databasenya, namun kita juga
dapat menjalankan perintah SQL murni seperti menggunakanfungsi ew_LoadRecordset
Reply
ali
16 February 2016 at 10:29
om agus numpang tanya kalo mau nampilkan
nama |jml
acer 470|1|
acer 470|3|
biar bisa tampil kayak gini
acer 470|4|
Reply
agusph
16 February 2016 at 18:08
Coba pakai query ini mas: SELECT nama, SUM(jml) as jumlah FROM
nama_tabel GROUP BY nama
Reply
ali
17 February 2016 at 06:10
makasih om agus … alkhamdulilah berasil
Reply
wayan
20 February 2016 at 10:46
om agus saya mau tanya, tapi sebelumnya saya jelaskan dulu ini saya
bingung di sistem yang saya buat yaitu sistem koperasi, nah saya
bingungnya cara nampilin sisa angsuran yang belum di bayar,contoh:si a
meminjam 12 jt dan susah di angsur 1jt per bulan dan sudah bulan ke 6 nah
jadinya 12-6 = 6 jt sisa hutang yang harus di angsur saya bingung cara
menampilkannya dengan query , mohon bantuannya dan satu lagi untuk
menampilkan ansuran ke berapa juga masih bingung trims
Reply
agusph
20 February 2016 at 13:49
Saya perlu tahu struktur tabel nya mas, misal:
tabel nasabah
id_nasabah | nilai_kredit
1 | 12000000
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 16/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 16/24
a e _angsuran
id_nasabah | jml_byr | tgl_byr
1 | 1000000 | 2016-01-01
1 | 1000000 | 2016-02-01
1 | 1000000 | 2016-03-01
1 | 1000000 | 2016-04-01
1 | 1000000 | 2016-05-01
1 | 1000000 | 2016-06-01
Bisa dicoba query ini mas
Reply
rohman
28 February 2016 at 00:30
Om agus, mau tanya nih
Saya punya query spt ini:
SELECT pembelian.kode_barang,
SUM(pembelian.jumlah) AS beli,
penjualan.kode_barang,
SUM(penjualan.jumlah) AS jual.
(barang.kode_barang) AS kode_barang,
barang.nama_barangFROM (
SELECT * FROM barang
JOIN pembelian
ON barang.kode_barang = pembelian.kode_barang
) as pembelian
LEFT JOIN penjualan ON barang.kode_barang = penjualan.kode_barang
GROUP BY barang.kode_barang
Yg sy tanyakn
Ketika input penjualan.jumlah misalkan 1 tapi yg tampil kok gk sesuai yg di
input ya, tampil nya jadi 2
Klo input 11 jadi 22
Mohon bantuan nya…
Terimakasih sebelumnya
Reply
agusph
28 February 2016 at 13:15
Mungkin karena hubungan antar tabel nya many to many mas,
sehingga ketika di joinkan datanya muncul semua, mungkin tabel
penjualan perlu di buat temporary tabel kemudian di GROUP,sama Tabel temporary yang didalam clausa FROM mungkin perlu
di group juga, coba dipelajari solusi ini mas:
http://jagowebdev.com/menghitung-fieldkolom-pada-tabel-mysql-
dengan-kondisi-tertentu-menggunakan-count-if/#div-comment-
281 jika belum bisa, coba di posting contoh datanya ke facebook
SELECT id_nasabah, nilai_kredit - jml_angsuran AS sa
FROM tabel_nasabah
LEFT JOIN (
SELECT id_nasabah, SUM(jml_byr) as jml_angsuran
FROM tabel_angsuran
GROUP BY id_nasabah
) as tbl_angsuran
USING (id_nasabah)
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 17/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 17/24
JagoWebDev nanti kita bahas disana, biar runtut..
Reply
rohman
28 February 2016 at 14:02
Oke om saya coba dulu
Reply
agusph
28 February 2016 at 20:32
Iya mas, semoga sukses…
Reply
rohman
1 March 2016 at 20:04
udah solved mas agus
terimaksih atas referensi nya
kira-kira query nya seperti ini:
SELECT `t`.`kode_barang`, `t`.`nama_barang`, `t`.`satuan`, `t`.`kategori`,
SUM(`t`.`belii`) AS `beli`, SUM(`t`.`juall`) AS `jual`
FROM
(
SELECT `barang`.`nama_barang`, `barang`.`satuan`, `barang`.`kategori`,
`pembelian`.`kode_barang`, SUM(`pembelian`.`jumlah`) As `belii`, NULL AS `jual
FROM `pembelian`
LEFT JOIN `barang` USING (`kode_barang`)
GROUP BY `barang`.`kode_barang`
UNION
SELECT `barang`.`nama_barang`, `barang`.`satuan`, `barang`.`kategori`,
`penjualan`.`kode_barang`, NULL AS `belii`,SUM(`penjualan`.`jumlah`) AS `jual
FROM `penjualan`
LEFT JOIN `barang` USING(`kode_barang`)
GROUP BY `barang`.`kode_barang`
) AS `t` GROUP BY `kode_barang`
mohon di koreksi jika ada salah
maaf telat replay
Reply
agusph
3 March 2016 at 05:33
Sip mas, sudah betul…
Reply
Cecep
6 April 2016 at 08:08
Mas Agusph saya punya tabel akun dan jurnal bagaimana querynya untuk
menampilkan Neraca?
TABEL AKUN
KODE NAMA_AKUN JENIS GOLONGAN KET SALDO_AWAL
1010001 Kas Aktiva Aktiva Lancar D 10.000.000
1010002 Persediaan Aktiva Aktiva Lancar D 5.000.000
1020001 Mobil Aktiva Aktiva Tetap D 10.000.000
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 18/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 18/24
1020002 Tanah Aktiva Aktiva Tetap D 20.000.000
2010001 Utang Bank Pasiva Kewajiban Lancar K 4.000.000
2010002 Utang Supplier Pasiva Kewajiban Lancar K 2.000.000
3010001 Modal Pemilik Modal Modal K 79.000.000
3020001 Rugi Laba Modal Rugi Laba K 14.000.000
4010001 Pendapatan 1 Pendapatan Pendapatan Operasional K 20.000.000
4010002 Pendapatan 2 Pendapatan Pendapatan Operasional K 5.000.000
4020001 Pendapatan Lain Pendapatan Pendapatan Non Operasional K 2.000.000
5010001 Biaya Gajih Biaya Biaya Operasional D 10.000.0005010002 Biaya Atk Biaya Biaya Operasional D 2.000.000
5020001 Biaya Lainnya Biaya Biaya Non Operasional D 1.000.000
TABEL JURNAL
NO TGL KODE GOLONGAN KET NOMINAL
1 2016/03/01 1010001 Aktiva Lancar D 1.000.000
1 2016/03/01 2010001 Kewajiban Lancar K 1.000.000
2 2016/03/01 3010001 Modal D 2.000.000
2 2016/03/01 1010001 Aktiva Lancar K 2.000.0003 2016/03/01 1010001 Aktiva Lancar D 5.000.000
3 2016/03/01 4010001 Pendapatan Operasional K 5.000.000
4 2016/03/01 5010001 Biaya Operasional D 2.000.000
4 2016/03/01 1010001 Aktiva Lancar K 2.000.000
TABEL NERACA
Aktiva
Aktiva Lancar
1010001 Kas D 12.000.000
1010002 Persediaan D 5.000.000 Total Aktiva Lancar 17.000.000
Aktiva Tetap
1020001 Mobil D 39.000.000
1020002 Tanah D 20.000.000
Total Aktiva Tetap 59.000.000
Total Aktiva 76.000.000
Pasiva
Kewajiban Lancar
2010001 Utang Bank K 5.000.0002010002 Utang Supplier K 2.000.000
Total Kewajiban Lancar 7.000.000
Modal
3010001 Modal Pemilik K 52.000.000
Total Modal 52.000.000
Rugi Laba
3020001 Rugi Laba K 17.000.000
Total Pasiva 76.000.000
Reply
agusph
7 April 2016 at 05:34
Untuk dapat menghubungkan kedua tabel reation nya harus ONE
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 19/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 19/24
to ONE mas, maka perlu untuk membuat tabel jurnal menjadi 1
row untuk setiap kode akun, coba query berikut mas:
Kode diatas memberikan gambaran umum untuk langkah
selanjutnya
Reply
giman
21 April 2016 at 11:40
ijin kopas . bermanfaat sekali
Reply
agusph
22 April 2016 at 21:05
Silakan mas, jangan lupa cantumkan sumbernya ya…
Reply
fifah
22 April 2016 at 08:38
mas mau nanya kalau saya punya seperti ini querynya gimana ya mas
no anggaran bobot %
1 300 ?
2 200 ?
3 500 ?
tot sum(anggaran) sum(bobot)
bobot didapat dari => anggaran/sum(anggaran)*100
mohon pencerahannya mas
Reply
agusph
22 April 2016 at 21:06
Data awalnya seperti apa ya mbak?
Reply
fifah
25 A ril 2016 at 12:23
SELECT kode, nama_akun, ta.ket,
CASE
WHEN ta.jenis = "Aktiva"
THEN saldo_awal + nominal_d - nominal_
WHEN ta.jenis = "Pasiva"
THEN saldo_awal - nominal_d + nominal_
ELSE 0
END
AS Saldo
FROM tabel_akun ta
LEFT JOIN
(
SELECT kode, jenis, SUM(IF (ket = "D", nomi
FROM(
SELECT kode, jenis, tj.ket, SUM(nomin
FROM tabel_jurnal tj
LEFT JOIN tabel_akun USING(kode)
WHERE tj.ket = "D" GROUP BY kode
UNION ALL
PHP
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 20/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 20/24
data awal seperti ini mas agus
field tabel kegiatan field tabel anggaran
id_kegiatan id_anggaran
kode_kegiatan kode_kegiatan
kegiatan anggaran
tahun_anggaran
bagaimana querynya untuk dapat tampilan seperti berikut
no anggaran bobot
1 200.000 13,33
2 400.000 26,67
3 500.000 33,33
4 100.000 6,67
5 300.000 20,00
Total 1500.000 100,00
nilai bobot di dapat dari bobot= (anggaran/totalanggaran)*100 atas
bantuannya saya ucapkan terima kasih
Reply
agusph
25 April 2016 at 21:11
Untuk single query bisa dicoba query ini mbak:
Namun kelemahannya, karena menggunakan subquery pada
select, maka jika row yang diolah banyak maka waktu eksekusi
semakin lama, arternatifnya bisa menggunakan variabel:
Hasilnya:
+-------------+----------+-------+
| id_anggaran | anggaran | bobot |
+-------------+----------+-------+
| 1 | 200000 | 13.33 |
| 2 | 400000 | 26.67 |
| 3 | 500000 | 33.33 |
| 4 | 100000 | 6.67 |
| 5 | 300000 | 20.00 |
| TOTAL | 1500000 | 100% |
+-------------+----------+-------+
Reply
aziscan
SELECT id_anggaran, anggaran, ROUND(anggaran/(SELECT
FROM anggaran
UNION
SELECT 'TOTAL', SUM(anggaran), '100%'
FROM anggaran
SET @total = (SELECT SUM(anggaran) FROM anggaran);
SELECT id_anggaran, anggaran, ROUND(anggaran/@total*
FROM anggaran
UNION
SELECT 'TOTAL', SUM(anggaran), '100%'
FROM anggaran
SQL
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 21/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 21/24
26 April 2016 at 10:21
mas Agus, izin bertanya..
Data saya misal seperti ini :
TABEL PEMAKAIAN BAHAN
Tanggal Bahan Jumlah Pakai Gudang
01/04/2016 Terigu 10 BELAKANG
02/04/2016 Terigu 5 BELAKANG
03/04/2016 Terigu 5 depan
10/04/2016 Terigu 5 BELAKANG
01/04/2016 Mentega 10 BELAKANG
02/04/2016 Mentega 10 depan
04/04/2016 Mentega 10 BELAKANG
01/04/2016 Telur 10 BELAKANG
02/04/2016 Telur 10 BELAKANG
03/04/2016 Telur 10 depan
TABEL SUPPLY BAHAN
Tanggal Bahan Jumlah Supply Gudang
01/04/2016 Terigu 100 BELAKANG
01/04/2016 Terigu 50 depan
04/04/2016 Terigu 100 BELAKANG
01/04/2016 Telur 100 BELAKANG
03/04/2016 Telur 100 BELAKANG
01/04/2016 Mentega 100 BELAKANG
04/04/2016 Mentega 100 BELAKANG
Hasil yang ingin diharapkan adalah :
JIKA kita pilih TANGGAL ANTARA : 01/04/2016 sampai dengan 03/04/2016dan GUDANG : BELAKANG
data yang ditampilkan adalah :
Bahan Jlh Pemakaian Jumlah Supply
Terigu 15 100
Mentega 10 100
Telur 20 200
mohon share ilmunya mas, terima kasih sebelumnya…
Reply
agusph
26 April 2016 at 18:46
Untuk menjoinkan tabel, hubungan antar tabel tersebut HARUS
one to one relationship mbak, jika belum maka buat temporary
tabel dengan subquery.
Sedikit saran: Untuk tanggal sebaiknya pakai format standar
database: yyyy-mm-dd, untuk nama gudang dan nama bahan bisa
digantikan kode
Dengan asumsi data apa adanya, coba gunakan query ini untuk
memperoleh hasil yang diinginkan:
SELECT bahan, SUM(jml_pakai) AS "Jml Pemakaian", jml
FROM pemakaian
LEFT JOIN
(
SELECT SUM(jml_supply) AS jml_supply, bahan
SQL
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 22/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 22/24
Reply
Daiki
2 May 2016 at 21:21
Kalau source code penjumlahan yg dibahas versi php.nya gimana mas? Aku
kurang paham soalnya masih newbie mas
Reply
agusph
3 May 2016 at 18:45
coba pelajari artikel ini mas: Menghitung Total dan Subtotal Pada
MySQL
Reply
Andri
4 May 2016 at 15:53
Hello Pak Agus, mau nanya , misalnya saya punya
Tabel 1 dengan total row 5 dan
table 2 dengan total row 10 serta
table 3 dengan total row 25
pertanyaan :bagaiman supaya tabel 4 ini berisi semua row yang ada di tabel 1 , tabel 2,
tabel 3 sehingga jumlah row yang ada di tabel 4 ini menjadi 50 row dan
otomatis terus bertambah dan berkurang jika row ditabel 1 , tabel 2 dan
tabel 3 ada yang bertambah atau berkurang
Thanks, salam
Reply
agusph
4 May 2016 at 18:23
Coba pakai union mas, misal:
SELECT id_tabel1, nama_tabel1, alamat_tabel1 FROM tabel1
UNION SELECT id_tabel2, nama_tabel2, alamat_tabel2 FROM
tabel2
UNION SELECT id_tabel3, nama_tabel3, alamat_tabel3 FROM
tabel3
Syarat menggunakan union: banyaknya kolom HARUS sama, jika
tidak sama bisa menggunakan fixed value
Reply
andri
5 May 2016 at 00:16
izin tanya lagi pak Agus1.mau tanya lagi pak agus, apakah dengan cara
diatas brarti ada terbentuk data tabel baru ya. ..? bukan hanya view saja
kan.?
FROM supply
WHERE STR_TO_DATE(tanggal, '%d/%m/%Y') BETWEEN "
GROUP By bahan
) as supply
USING(bahan)
WHERE STR_TO_DATE(tanggal, '%d/%m/%Y') BETWEEN "2016
GROUP BY bahan
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 23/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
http://jagowebdev.com/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql/ 23/24
2. bagaimana cara membuat tabel misalnya tabel terdiri dari 4 field dengan
judul fieldnya yaitu:
field1 : namabarang
field2 : jumlahbarang
field3 : hargapersatuan
field4 : total
lanjut pertanyaannya : bagaimana supaya tabel ini di field 4 otomatis terisi
datanya karena hasil perkalian dari field2 dan field 3?
thks salam
Reply
agusph
5 May 2016 at 09:05
Itu temporary tabel mas, maksudnya ya adanya pas ketika query
saja bukan real tabel.
Untuk pertanyaan kedua, perkaliannya bisa dilakukan pada sisi
aplikasi, hasilnya diinsert ke field total. Namun cara ini memiliki
kelemahan yaitu ketika salah satu field diupdate, data filed total
menjadi tidak akurat.
Solusinya perkaliannya dijalankan disisi database, gunakan trigger
mas, sehingga ketika salah satu field diupdate, otomatis
menjalankan query untuk menghitung total dan mengupdate field
total
Reply
andri
5 May 2016 at 17:29
1. Pak agus,jadi bagaimana supaya bisa otomatis terbentuk data tabel hasilgabungan row semnua? Tdk hanya temporaly tabel, mengingat setiap nanti
mau lihat gabungannya harus ketik sql itu lagi kan agak repot? Adakah cara
yang otomatis sekali buat saja?
2. Untuk field yang hasil perkalian otomatis keluar, ,. Boleh tolong di bantu
kasih contoh sqlnya yang procedure? Sehingga tabel nya menjadi langsung
nampak field 1, field2, field 3 dan field 4 nya otomatis terbentuk.. Maklum
pak agus.. baru belajar… salam d
Reply
agusph
6 May 2016 at 20:11
1. Itu memang harusnya demikian mas. Jika menginginkan output
seperti itu, memang harus pakai UNION, seberapa kalipun, kecuali
desain tabelnya diubah, 3 tabel menjadi satu tabel. Jika
menambahkan satu tabel untuk merekap 3 tabel tersebut, saya
rasa itu bukan desain tabel yang baik, keuali dalam kondisi ekstra
ordinary
2. Setahu saya desain tabel yang baik salah satunya tidak ada field
yang isinya turunan dari field yang lain, termasuk yang field total
tadi, karena field tadi dapat dengan mudah didapat dari fieldd-
field lainnya. Kecuali kalau memang kondisi ekstra ordinary.
Untuk masalah query yang berulang, memang seharusnya seperti
itu tinggal di optimize. Untuk trigger, bisa coba dipelajari ini mas:
http://www.sitepoint.com/how-to-create-mysql-triggers/
Reply
7/26/2019 Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev
http://slidepdf.com/reader/full/menggunakan-sum-if-untuk-menjumlahkan-nilai-fieldkolom-suatu-tabel-pada-mysql 24/24
5/13/2016 Menggunakan SUM IF untuk menjumlahkan ni lai field/kolom suatu Tabel pada MySQL | Jago Web Dev
TERBARU
Mengaktifkan Kompresi Gzip UntukMempercepat Website
Setting HTTP Cache Untuk Mempercepat Load
Website
Cara Terbaru Menghubungkan MySQL Dengan
PHP – MySQLi dan PDO
Character Set dan Collation Pada MySQL – Yakin
Sudah Paham?
Fitur Penting Notepad++ Yang Perlu Anda
Ketahui
KOMENTAR TERAKHIR
agusph on Menghitung Field/Kolom Pada TabelMySQL Dengan Kondisi Tertentu Menggunakan
COUNT IF
agusph on Menggunakan SUM IF untuk
menjumlahkan nilai field/kolom suatu Tabel
pada MySQL
Erwin A on Menghitung Field/Kolom Pada Tabel
MySQL Dengan Kondisi Tertentu Menggunakan
COUNT IF
andri on Menggunakan SUM IF untuk
menjumlahkan nilai field/kolom suatu Tabel
pada MySQL
agusph on Menggunakan SUM IF untuk
menjumlahkan nilai field/kolom suatu Tabelpada MySQL
SOCIAL
Copyright ©2016 www.jagowebdev.com About Contact
Silakan tinggalkan komentar
Your Comment
Name :
Email :
Website (optional) :
Submit
FacebookTwitter
Google Plus