Pages

Monday, 25 November 2013

ORACLE : Menghitung Jumlah Record Dalam Suatu Tabel Dengan Kriteria Tertentu

Dalam suatu table bisa saja memiliki record yang memiliki kesamaan isi field tertentu. Tidak jarang pula kita membutuhkan pengelompokkan data dan mengitung record yang memiliki kesamaa tersebut.

Sebut saja tabel yang bernama tbl_buku. Tabel ini berfungsi untuk menyimpan database buku dalam suatu perusahaan. Yang isinya adalah sebagai berikut :
  1. id_buku
  2. tgl_masuk
  3. judul
  4. penulis
  5. penerbit
Bentuk umum untuk melakukan query ini adalah sebagai berikut :

SELECT [field_yang_mau_ditampilkan] , count(*)
FROM [nama_table]
WHERE [kondisi]
GROUP BY [field2_acuan_mencari_record_jamak]




Bentuk umum di atas memiliki syarat-ketentuan berlaku dan keterangan sebagai berikut :
  1. Field yang dipilih (select) harus merupakan field yang di groupkan (Group by)
  2. Field yang di groupkan (Group by) tidak harus dipilih (select)
  3. Count(*) adalah jumlah query

Untuk menghitung jumlah buku yang ditulis oleh setiap penulis, gunakan query sebagai berikut: 

SELECT penulis , count(*)
FROM tbl_buku
GROUP BY penulis

Query di atas akan menghitung jumlah buku yang nama penulisnya sama. Hasil dari query tersebut adalah sebagai berikut :

Sultan Takdir Alysiabana 10
Chairil anwar 5
Mira W 15

Untuk mengelompokkan berdasarkan penulis dan juga penerbitnya, tambahkan field penerbit seperti pada query berikut :
SELECT penulis,penerbit,count(*)
FROM tbl_buku,penerbit
GROUP BY penulis,penerbit

Query di atas akan menghitung jumlah buku yang penulis dan penerbitnya sama.

Kita juga bisa menambahkan suatu atau beberapa kondisi dengan contoh sebagai berikut :
SELECT penulis , count(*)
FROM tbl_buku
WHERE tgl_masuk > '1-jan-2013'
GROUP BY penulis

Query di atas akan menghitung jumlah buku yang nama penulisnya sama dimana buku masuk ke perpustakaan lebih dari tanggal 1 Januari 2013.

No comments:

Post a Comment