Query Rangking MySQL


Terkadang kita membutuhkan suatu nomor urut dari sekumpulan data pada tabel.

Misalkan :

  • Adi punya nilai 85
  • Budi punya nilai 65
  • Andica punya nilai 60
  • Dinie punya nilai 85
  • Abel nilai 82

Misalkan nilai tertinggi akan mendapatkan nomor urut (rangking) satu serta bila terdapat nilai yang sama akan memiliki nomor rangking yang sama pula.

  • Adi punya nilai 85, rangking 1
  • Budi punya nilai 65, rangking 3
  • Andica punya nilai 60, rangking 4
  • Dinie punya nilai 85, rangking 1
  • Abel, rangking 2

Database :

CREATE TABLE `nilai_raport_siswa` (
`id` int(11) NOT NULL auto_increment,
`nis` char(4) default NULL,
`nama` varchar(50) default NULL,
`nilai_raport` int(11) default NULL,
PRIMARY KEY  (`id`)
) ;

/*Data for the table `nilai_raport_siswa` */

insert  into `nilai_raport_siswa`(`id`,`nis`,`nama`,`nilai_raport`) values
(1,’001′,’Adi’,85),(2,’002′,’Budi’,65),(3,’003′,’Andica’,60),
4,’004′,’Dinie’,85),(5,’005′,’Abel’,82);

Query :

select nis, nama, nilai_raport,
( select find_in_set( nilai_raport,
( select
group_concat(distinct nilai_raport
order by nilai_raport DESC separator ‘,’)
from nilai_raport_siswa))
) as rangking
from nilai_raport_siswa

Hasil :

<?php echo”salam query mysql”; ?>

About blackphp

All about programming php, ajax, jquery, mysql, etc, tips n trick. Now, i'm concern in php programming with codeigniter framework n also training my design skill with photoshop or corel... wish me luck! ('o')

Posted on March 17, 2010, in mYsQL and tagged , , , . Bookmark the permalink. 10 Comments.

  1. querynya ditunggu2 nih ….
    salam kenal yaa

  2. Terimakasih sekali querynya,
    Satu pernyataan ….gimana kalau pada kolom nilai_raport ada nilai yang sama hasil rangking nya juga masih sama. Gimana cara mengatasinya ?
    Terimakasih

  3. itu kan nilai satu mata pelajaran ya mas?? kalo seumpama ada nilai untuk mapel yang ke dua gimana??😀

  4. itu kan nilai raport untuk satu pelajaran?? jika ada satu nilai lagi untuk mata pelajaran lain gimana ya.. lagi ada permasalahan kayak gini nih.. mohon bantuannya..😀 trimakasih

  5. Kalau membuat nilai rangking nya berdasaran kelas gimna ya? Adi, dini dan abel di keas 7 sedangkan budi dan andica di kelas 8 bagaiman memunculkan juara per kelas masing2 ya?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: