2015-01-16 60 views
0

下面是代码我必须检索某些图像的排名,一切工作完美。但是,如果两张或更多图像的总分相同,则会得到重复的排名结果。我的主要目标是,如果两个或多个图像的total_points相关联,则根据提交这些图像的时间对它们进行排名。 (从旧到新订单)。我如何打破领带?积分排名系统

+2

请取消删除您的查询和表定义。 – 1010

回答

0

你可以使用一个变量的总得分降序和日期升序排名:

set @rank = 0; 
select @rank := @rank + 1 as rank, 
    photo_id, 
    total_points, 
    date 
from photo_list 
order by 
    total_points desc, 
    date asc 

SQL FIDDLE

0

怎么样一个简单的查询,该订单由总积分,然后按日期?此查询将返回前十个结果:

SELECT `id` 
    , `photo_id` 
    , `total_points` 
    , `date` 
    FROM `photos 
ORDER 
    BY `total_points` DESC, 
     `date` ASC 
LIMIT 10 
    ;