Akhirnya penulis temukan yaitu dengan perintah berikut :
SET @ranking=0;
SELECT @ranking:=@ranking+1 AS ranking, nip, nama,
tunjangan from dokter order by tunjangan desc;
Perintah tersebut akan menghasilkan keluaran seperti di bawah ini :
+---------+-------+------------+-----------+
| ranking | nip | nama | tunjangan |
+---------+-------+------------+-----------+
| 1 | 345 | Dr. Aline | 23000000 |
| 2 | 111 | Dr. Andi | 2000000 |
| 3 | 222 | Dr. Dewi | 1500000 |
| 4 | 333 | Dr. Doni | 1000000 |
| 5 | 444 | Dr. Donita | 1000000 |
+---------+-------+------------+-----------+
Ketika dicoba di bahasa pemrograman PHP - MySQL dengan kode program di bawah ini, ternyata dapat berjalan :
<table width="400" border="1" cellspacing="0" cellpadding="5">
<tr>
<td>Ranking</td>
<td>NIP</td>
<td>Nama</td>
<td>Tunjangan</td>
</tr>
<?php
mysql_connect("localhost","root","");
mysql_select_db("rumahsakit");
$query=mysql_query("SET @ranking=0;");
$query=mysql_query("SELECT @ranking:=@ranking+1 AS ranking, nip, nama, tunjangan from dokter order by tunjangan desc;");
while($data=mysql_fetch_array($query))
{
?>
<tr>
<td><?php echo $data['ranking']; ?> </td>
<td><?php echo $data['nip']; ?> </td>
<td><?php echo $data['nama']; ?> </td>
<td><?php echo $data['tunjangan']; ?> </td>
</tr>
<?php
}
?>
</table>
Hasilnya :
Cuma sayangnya penulis belum sempat mencoba untuk bahasa pemrograman desktop misal VB.NET atau C#.NET dan Java. Secara teori bisa, asal kedua perintah SQL tersebut dijalankan pada Satu Koneksi dengan Satu Command secara berurutan. Mungkin lain kali kita coba..
Semoga anda lebih beruntung dalam hal ini.
Silakan mencoba, semoga bermanfaat.