簡體   English   中英

如何根據學生的分數來使其排名(第,第2,第3,第4)

[英]How to make Students Position (ist, 2nd, 3rd, 4th) depending on their scores

            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);

我參與的一個項目根據學生的最終成績為他們提供職位。 我的問題是如何根據1、2、3、4、5等中的分數輸出位置。 請解釋和歡迎代碼。 謝謝!

請嘗試以下代碼:

SELECT * FROM users ORDER BY scores DESC;

根據我的理解,您想使用鍵(1/2/3 ..)來反映它們的位置嗎?

這不是ID的目的,如果要訂購它們,只需在get查詢中添加一個訂購者即可。

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

如果您確實想要選擇索引/計數器,則可以隨時查看mysql中的排名,最終結果將如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM