Berawal dari project aplikasi kost yang sedang saya kerjakan dengan menggunakan PHPRunner, dimana si client meminta untuk daftar pembayaran dari para penghuni kost diberikan nomor urut. awalnya saya berpikir akan menggunakan PHP code Snippet yang ada di editor PHPRunner toh saya cuma buat nomor urut aja mudah seperti di php native , ternyata dugaan saya salah dan nomor urut tidak kunjung keluar. setelah saya browsing sana sini diforum PHPRunner dan mbah google akhirnya saya putuskan untuk membuat nomor urutnya pada perintah SQL. berikut adalah perintah sql biasa tanpa mengenerate integer sequence :
SELECT
pembayaran.id_bayar,
pembayaran.tgl_bayar,
pembayaran.no_ktp,
pembayaran.nama,
pembayaran.id_kamar,
pembayaran.jml_bulan,
pembayaran.bank,
pembayaran.harga_kamar,
pembayaran.cash_tambahan,
pembayaran.disc_perbulan,
pembayaran.disc_pertahun,
pembayaran.disc_khusus,
pembayaran.denda,
pembayaran.total,
pembayaran.terbilang,
pembayaran.catatan,
pembayaran.username,
penyewa.email,
pembayaran.bulan_bayar
FROM pembayaran
INNER JOIN penyewa ON pembayaran.no_ktp = penyewa.no_ktp
untuk menambahkan nomor urutnya modifikasi query sqlnya menjadi seperti dibawah ini :
SELECT @row := @row+1 as row,
pembayaran.id_bayar,
pembayaran.tgl_bayar,
pembayaran.no_ktp,
pembayaran.nama,
pembayaran.id_kamar,
pembayaran.jml_bulan,
pembayaran.bank,
pembayaran.harga_kamar,
pembayaran.cash_tambahan,
pembayaran.disc_perbulan,
pembayaran.disc_pertahun,
pembayaran.disc_khusus,
pembayaran.denda,
pembayaran.total,
pembayaran.terbilang,
pembayaran.catatan,
pembayaran.username,
penyewa.email,
pembayaran.bulan_bayar
FROM pembayaran
INNER JOIN penyewa ON pembayaran.no_ktp = penyewa.no_ktp,(select @row := 0 )r
coba perhatikan dimana bedanya ?benar sekali, perhatikan perintah @row := @row+1 as row yang artinya variabel row selalu ditambahkan 1 , dan perhatikan pada bagian bawah perintah (select @row := 0 )r yang artinya kita memberikan nilai awal variabel row sama dengan 0. kenapa harus kita berikan nilai o ? karena jika kita tidak berikan nilai o maka otomatis nilainya akan bernilai null, sehingga jika null + 1 maka hasil seterusnya akan tetap null.
Recent Post
Friday, June 3, 2016
Generate an Integer Sequence in MySQL
Artikel Terkait
Subscribe to:
Post Comments (Atom)
silahkan isi komentar anda disini
EmoticonEmoticon
Note: Only a member of this blog may post a comment.