menggunakan sum if untuk menjumlahkan nilai field_kolom suatu tabel pada mysql _ jago web dev

24
5/13/2016 Me nggu nak an SUM IF u ntuk menju mla hk an nilai f ie ld /k olo m suatu Ta bel pada My SQL | Ja go Web De v http://j agow ebdev .com/menggunakan- sum- i f- untuk -menj umlahkan-nilai- fieldkolom- suatu-tabel-pada-my sql / 1/24 About Contact   Home » MySQL Tutorial » Menggunakan SUM IF untuk menjumlahkan nilai field/k olom suatu Tabel pada MySQL Menggunakan SUM IF untuk menjumlahkan nilai field/kolom suatu Tabel pada MySQL Oleh: agusph | Kategori: MySQL Tutorial | Upda te: 11-12-201 5 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 . Ske ma 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) merupakan nomor seri produk. tgl_byr  merupakan tanggal pembayaran dengan format yyyy-mm-dd.  jm l_ by r  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 dan Penggunaannya Tutorial Web Development… Like  Dapatkan update artikel terbaru via E-Mail Nama Lengkap Email Langganan

Upload: daking

Post on 13-Apr-2018

1.342 views

Category:

Documents


21 download

TRANSCRIPT

Page 1: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Email

Langganan

Page 2: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 3: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 4: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 5: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 6: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 7: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 8: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 9: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 10: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 11: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 12: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

- -

Page 13: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 14: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

 

Page 15: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 16: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 17: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 18: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 19: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 20: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 21: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 22: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 23: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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

Page 24: Menggunakan SUM if Untuk Menjumlahkan Nilai Field_kolom Suatu Tabel Pada MySQL _ Jago Web Dev

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