如何根据学生的分数确定学生的位置(ist,2nd,3rd,4th)

时间:2015-12-19 23:06:51

标签: php mysqli

            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等分数输出位置。 欢迎解释和编码。谢谢!

2 个答案:

答案 0 :(得分:0)

请尝试以下代码:

SELECT * FROM users ORDER BY scores DESC;

答案 1 :(得分:0)

根据我的理解,你想要使用钥匙(1/2/3 ..)来反映他们的位置?

这不是id的用途,如果你想订购它们,你可以在你的获取查询中添加一个订单。

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