1

我有一个包含 3 个字段的表,例如:

roll varchar(100)

marks int (10) // can be 0 5 or 10

time anyTimeFormat

//time stores the time of passing the exam. 

我需要做的是按升序排序,完成时间,我可以做到

ORDER by time ASC

但是,我需要按升序排序,同时根据分数对记录进行分组,即得分为10且最先完成的记录,依此类推。

我尝试了 GROUP BY,但知道它不起作用。欢迎对此提供任何帮助。

注意:我使用 mysql。PHP是前端。

样本数据

roll        marks        time

1             10          2012-09-07 15:03:39
2             10          2012-09-07 15:03:42
3             10          2012-09-07 15:03:17
4             10          2012-09-07 15:03:20
5              5          2012-09-07 15:03:11

预期输出::

// I want those with 10 marks to be displayed first.

roll        marks        time

1             10          2012-09-07 15:03:17
2             10          2012-09-07 15:03:20
3             10          2012-09-07 15:03:39
4             10          2012-09-07 15:03:42
5              5          2012-09-07 15:03:11
4

1 回答 1

4

利用:

ORDER BY marks DESC, time ASC

或者换句话说,您对分数进行排序是因为您希望首先获得最高分,然后对于同等分数,按时间排序以便首先显示最先完成的人。

于 2012-09-15T13:26:50.707 回答