Pada posting sebelumnya, saya sudah berbagi tentang cara menggunakan ekspresi kondisional CASE pada query. Sekarang saya ingin berbagi cara untuk memanfaatkan ekspresi CASE untuk membentuk cross tabulation query. Apa itu cross tabulation? Silahkan baca di wikipedia untuk lebih detail. :P
Secara sederhana saya mengartikan cross tabulation adalah menyajikan data dari baris menjadi kolom.
Berikut contoh sederhana untuk menggambarkan apa itu cross tabulation.
Secara sederhana saya mengartikan cross tabulation adalah menyajikan data dari baris menjadi kolom.
Berikut contoh sederhana untuk menggambarkan apa itu cross tabulation.
SELECT * FROM siswa ORDER BY siswaid; siswaid | nama | sex ---------+----------------+----- 1 | Eko Suhariyadi | L 2 | Mori Ran | P 3 | Megumi Noda | P 4 | Haruka Koga | P 5 | Hiro Kunimi | L (5 rows)
Dari data tersebut akan kita sajikan informasi seperti berikut ini:
laki | perempuan ------+----------- 2 | 3 (1 row)
Dapat dilihat bahwa kita mentransformasikan data sex menjadi kolom. Mudah-mudahan contoh tersebut dapat membantu sahabat untuk memahami apa itu cross tabulation.
Sekarang langsung saja kita buat implementasinya di PostgreSQL.
SELECT COUNT(CASE WHEN sex='L' THEN 1 ELSE NULL END) AS Laki, COUNT(CASE WHEN sex='P' THEN 1 ELSE NULL END) AS Perempuan FROM siswa;
Bagaimana, sangat menarik bukan?! :D
Happy querying
Comments
Post a Comment