我有一个包含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
答案 0 :(得分:4)
使用:
ORDER BY marks DESC, time ASC
或换句话说,您对标记进行排序是因为您希望首先获得最高分,然后对于等效标记,按时间排序以便首先显示第一个完成者。