Senin, 27 Mei 2013

Menampilkan Nomor Urut pada Hasil Query MySQL dalam Satu Perintah SQL

Artikel pendek untuk Menampilkan Nomor Urut pada Hasil Query MySQL dalam Satu Perintah SQL ini adalah update dari artikel sebelumnya Membuat Nomor Urut dengan MySQL, Nomor Rangking dengan Bahasa SQL.

Artikel ini penulis buat setelah mencoba membuat nomor urut pada Pemrograman Java yang menampilkan data dari Database MySQL menggunakan dua perintah SQL seperti dibahas sebelumnya yaitu :



SET @ranking=0; 
SELECT @ranking:=@ranking+1 AS ranking, nip, nama,
tunjangan from dokter order by tunjangan desc;

Ternyata tidak bekerja, karena Pemrograman seperti Java hanya mau menerima satu baris perintah SQL dalam satu kali eksekusi. Solusinya penulis dapatkan dengan cara menggunakan Satu Perintah SQL berikut ini :

SELECT @ranking:=IFNULL(@ranking,0)+1 AS ranking, nip, nama,
tunjangan from dokter order by tunjangan desc;

Teknik ini sangat bermanfaat ketika anda membutuhkan Nomor urut dalam satu kali perintah SQL, misalnya dalam pembuatan Report seperti Jasper Report di Pemrograman Java / NetBeans, Crystal Report atau Microsoft Reporting dalam Pemrograman VB.NET dan C#.NET atau DataReport dalam Pemrograman VB 6.0.

Kekurangannya dari artikel ini adalah bahasa SQL tersebut belum penulis coba untuk Perintah Query selain Database MySQL, misal SQL Server, PostgreSQL, Oracle, ataupun Firebird/Interbase. Semoga anda bisa mencoba sendiri.

Semoga bermanfaat seperti yang pernah penulis dapatkan :)

2 komentar:

  1. Maaf sebelumnya... tp dengan perintah @ranking:=IFNULL(@ranking,0)+1 AS hasil di punya saya jadi muncul angka 1 semua. mohon pencerahan.. trmakasih

    BalasHapus
  2. select @n:=@n+1 as Nom, tbSource.* from tbSource, (select @n:=0) n;

    BalasHapus