Nomor Urut di SQL

Kali ini kita bermain dengan SQL script lagi. Kita akan mencoba membuat kolom virtual yang yang akan berisikan nomor urut dari semua record yang dimunculkan dari hasil sebuah SQL script.

Seperti biasa saya memakai MySQL sebagai RDBMS-nya. Karena gratis dan mudah, hehehe……

Mungkin ada pertanyaan, kenapa ngga pakai Auto Increment aja? Hmmm… kalau menurut saya karena ini tujuannya adalah untuk keperluan reporting, jadi harus benar-benar urut, kalau memakai index yang di Auto Increment, apabila terjadi DELETE row maka nomor yang di index itu sudah hilang untuk selamanya, akhirnya ngga bisa urut lagi.

Misalnya saya mempunyai table bernama tbl_nomor_urut yang mempunyai kolom nama_binatang, saya akan coba mengeksekusi script ini:

SELECT nama_binatang
FROM tbl_nomor_urut

Maka kolom yang muncul adalah seperti gambar di bawah ini:

Maka untuk membuat satu kolom lagi secara virtual, tambahkan script ini letakan setelah SELECT

(@row := @row + 1)

dan script ini setelah FROM

(SELECT @row := 0) AS a

maka script yang di tambahkan menjadi seperti ini:

SELECT (@row := @row + 1) AS no_urut, nama_binatang
FROM (SELECT @row := 0) AS a, tbl_nomor_urut

Ketika di eksekusi menjadi seperti ini:

Selamat mencoba……

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.