Fungsi Aggregate biasanya digunakan bersamaan dengan GROUP BY clause, yaitu untuk mengelompokkan data berdasarkan kriteria yang diinginkan. Misalkan, mengelompokkan data pegawai tiap-tiap departemen, mengelompokkan rata-rata usia pegawai per departemen, dan lain sebagainya.
Persiapan
Ada beberapa tools yang harus Anda persiapkan dalam tutorial kali ini, yaitu:1. PostgreSQL 9.3
2. PostgreSQL SQL Shell (psql)
Disamping kedua tools diatas, Anda juga harus membuat tabel pegawai sebagai contoh dengan struktur sebagai berikut:
CREATE TABLE pegawai( id_pegawai character(10) NOT NULL, nama_pegawai character(50) NOT NULL, umur integer NOT NULL, alamat character(50) NOT NULL, gender character(1), departemen character(5), CONSTRAINT pegawai_pkey PRIMARY KEY (id_pegawai) );
Sedangkan data-data yang ada di tabel pegawai adalah sebagai berikut:
hr=# SELECT * FROM pegawai; id_pegawai | nama_pegawai | umur | alamat | gender | departemen ------------+-----------------------+------+--------------+--------+------------ 001 | Nursalim Al Farizi | 20 | Brebes | L | IT 002 | Iskiyati | 25 | Bandung | P | FIN 003 | Nurul Hikmah | 18 | Semarang | P | ACC 004 | Naura Krasiva | 15 | Jakarta | P | IT 005 | Ahmad Fathoni | 20 | Yogyakarta | L | HR 006 | Ramanata | 17 | Jakarta | L | HR 007 | Taryono | 18 | Surabaya | L | ACC 008 | Nani Indriyani | 15 | Bandung | P | FIN 009 | Imron | 23 | Bandung | L | FIN 010 | Andi | 16 | Bandung | L | FIN (10 rows)
1. Fungsi Min
Fungsi Min digunakan untuk mencari nilai terkecil (minimum) dari sebuah data atau record di tabel.Sintak Dasar:
Di bawah ini adalah sintak dasar fungsi Min di PostgreSQL:
SELECT MIN(column_name) FROM table_name [GROUP BY column_name];
Contoh:
1. Dari data pegawai diatas, tampilkan usia minimum tiap jenis kelamin (L: Laki-laki, P: Perempuan) ?
Untuk menampilkan usia minimum tiap jenis kelamin, Anda dapat menggunakan query di bawah ini:
hr=# SELECT gender, MIN(umur) "usia minimum" hr-# FROM pegawai hr-# GROUP BY gender; gender | usia minimum --------+-------------- L | 16 P | 15 (2 rows)
2. Dari data pegawai diatas, tampilkan usia minimum tiap departemen ?
Untuk menampilkan usia minimum tiap departemen, Anda dapat menggunakan query di bawah ini:
hr=# SELECT departemen, MIN(umur) "usia minimum" hr-# FROM pegawai hr-# GROUP BY departemen; departemen | usia minimum ------------+-------------- IT | 15 FIN | 15 ACC | 18 HR | 17 (4 rows)
2. Fungsi Max
Fungsi Max digunakan untuk mencari nilai terbesar (maximum) dari sebuah data atau record di tabel.Sintak Dasar:
Di bawah ini adalah sintak dasar fungsi Max di PostgreSQL:
SELECT MAX(column_name) FROM table_name [GROUP BY column_name];
Contoh:
1. Dari data pegawai diatas, tampilkan usia maksimum tiap jenis kelamin (L: Laki-laki, P: Perempuan) ?
Untuk menampilkan usia maksimum tiap jenis kelamin, Anda dapat menggunakan query di bawah ini:
hr=# SELECT gender, MAX(umur) "usia maksimum" hr-# FROM pegawai hr-# GROUP BY gender; gender | usia maksimum --------+--------------- L | 23 P | 25 (2 rows)
2. Dari data pegawai diatas, tampilkan usia maksimum tiap departemen ?
Untuk menampilkan usia maksimum tiap departemen, Anda dapat menggunakan query di bawah ini:
hr=# SELECT departemen, MAX(umur) "usia maksimum" hr-# FROM pegawai hr-# GROUP BY departemen; departemen | usia maksimum ------------+--------------- IT | 20 FIN | 25 ACC | 18 HR | 20 (4 rows)
3. Fungsi Sum
Fungsi Sum digunakan untuk mencari jumlah total nilai dari sebuah data atau record di tabel.Sintak Dasar:
Di bawah ini adalah sintak dasar fungsi Sum di PostgreSQL:
SELECT SUM(column_name) FROM table_name [GROUP BY column_name];
Contoh:
1. Dari data pegawai diatas, tampilkan total usia tiap jenis kelamin (L: Laki-laki, P: Perempuan) ?
Untuk menampilkan total usia tiap jenis kelamin, Anda dapat menggunakan query di bawah ini:
hr=# SELECT gender, SUM(umur) "total usia" hr-# FROM pegawai hr-# GROUP BY gender; gender | total usia --------+------------ L | 114 P | 73 (2 rows)
2. Dari data pegawai diatas, tampilkan usia maksimum tiap departemen ?
Untuk menampilkan total usia tiap departemen, Anda dapat menggunakan query di bawah ini:
hr=# SELECT departemen, SUM(umur) "total usia" hr-# FROM pegawai hr-# GROUP BY departemen; departemen | total usia ------------+------------ IT | 35 FIN | 79 ACC | 36 HR | 37 (4 rows)
4. Fungsi Avg
Fungsi Avg digunakan untuk mencari nilai rata-rata (average) dari sebuah data atau record di tabel.Sintak Dasar:
Di bawah ini adalah sintak dasar fungsi Avg di PostgreSQL:
SELECT AVG(column_name) FROM table_name [GROUP BY column_name];
Contoh:
1. Dari data pegawai diatas, tampilkan rata-rata usia tiap jenis kelamin (L: Laki-laki, P: Perempuan) ?
Untuk menampilkan rata-rata usia tiap jenis kelamin, Anda dapat menggunakan query di bawah ini:
hr=# SELECT gender, AVG(umur) "rata2 usia" hr-# FROM pegawai hr-# GROUP BY gender; gender | rata2 usia --------+--------------------- L | 19.0000000000000000 P | 18.2500000000000000 (2 rows)
2. Dari data pegawai diatas, tampilkan rata-rata usia tiap departemen ?
Untuk menampilkan rata-rata usia tiap departemen, Anda dapat menggunakan query di bawah ini:
hr=# SELECT departemen, AVG(umur) "rata2 usia" hr-# FROM pegawai hr-# GROUP BY departemen; departemen | rata2 usia ------------+--------------------- IT | 17.5000000000000000 FIN | 19.7500000000000000 ACC | 18.0000000000000000 HR | 18.5000000000000000 (4 rows)
5. Fungsi Count
Fungsi Count digunakan untuk mencari jumlah dari sebuah data atau record di tabel.Sintak Dasar:
Di bawah ini adalah sintak dasar fungsi Count di PostgreSQL:
SELECT COUNT(column_name) FROM table_name [GROUP BY column_name];
Contoh:
1. Dari data pegawai diatas, jumlah pegawai tiap jenis kelamin (L: Laki-laki, P: Perempuan) ?
Untuk menampilkan jumlah pegawai tiap jenis kelamin, Anda dapat menggunakan query di bawah ini:
hr=# SELECT gender, COUNT(*) "jumlah pegawai" hr-# FROM pegawai hr-# GROUP BY gender; gender | jumlah pegawai --------+---------------- L | 6 P | 4 (2 rows)
2. Dari data pegawai diatas, jumlah pegawai tiap departemen ?
Untuk menampilkan jumlah pegawai tiap departemen, Anda dapat menggunakan query di bawah ini:
hr=# SELECT departemen, COUNT(*) "jumlah pegawai" hr-# FROM pegawai hr-# GROUP BY departemen; departemen | jumlah pegawai ------------+---------------- IT | 2 FIN | 4 ACC | 2 HR | 2 (4 rows)
~~~## PostgreSQL ##~~~
Sekian tutorial singkat tentang 5 Fungsi Aggregate Populer Di PostgreSQL. Semoga bermanfaat & Happy Learning PostgreSQL
0 comments:
Post a Comment