2015-12-19 25 views
0
  CREATE TABLE IF NOT EXISTS `users` (
      `id` int(11) NOT NULL AUTO_INCREMENT, 
      `names` varchar(30) NOT NULL, 
      `matricno` varchar(30) NOT NULL, 
      `class` varchar(30) NOT NULL, 
      `scores` varchar(30) NOT NULL, 
      `subject` varchar(30) NOT NULL, 
     PRIMARY KEY (`id`) 
     ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; 




     $con = mysqli_connect("localhost", "root", "1024", "sch_one"); 
      if (!$con) { 
       echo "Failed to connect to Database". mysqli_error(); 
     } 



     INSERT INTO `users` (`id`, `names`, `matricno`, `class`, `scores`) VALUES 
     (1, 'Henry Okon Etim', '15/HCSS/001', 'A', 800), 
     (2, 'Henry Okon Etim', '15/HCSS/002', 'A', 804), 
     (3, 'Etim Okon Etim', '15/HCSS/003', 'A', 820), 
     (4, 'Lavalish Okon Etim', '15/HCSS/004', 'A', 730), 
     (5, 'Pherema Okon Etim', '15/HCSS/005', 'A', 920), 
     (6, 'Leman Okon Etim', '15/HCSS/006', 'A', 803), 
     (7, 'Lema3 Okon Etim', '15/HCSS/007', 'A', 500); 

我在一個項目中根據他們的最終分數給出學生位置。 我的問題是如何根據a中的分數輸出位置,如1,2,3,4,5等。 歡迎解釋和代碼。謝謝!如何讓學生根據他們的分數決定位置(ist,2nd,3rd,4th)

回答

0

請嘗試以下代碼:

SELECT * FROM users ORDER BY scores DESC; 
0

從什麼,我理解你想pimary鍵(1/2/3 ..),以反映他們的位置?

這不是ID的用途,如果你想訂購它們,你可以在你的查詢中添加一個訂單。

$result = $mysqli->query("SELECT * FROM users ORDER BY scores desc"); 

如果你真的想在你的選擇索引/計數器,你總是可以看看在mysql中的排名,最終的結果會是這樣的:

SET @rank=0; 
SELECT @rank:[email protected]+1 AS rank, users.* FROM users ORDER BY scores DESC; 
+0

這工作,當我輸入代碼在SQL中,它創建排名列,但它恢復時,我刷新瀏覽器。 – maxil

+0

此外,如果學生與基準沒有。 15/HCSS/004被記錄下來,它的等級應該顯示爲6,當我插入上面的sql代碼時 – maxil

相關問題