php - 积分排名系统

标签 php mysql sql ranking

下面是我必须检索特定图像的排名的代码,一切都工作得很好。但是,如果两个或更多图像具有相同的总分,我会得到重复的排名结果。我的主要目标是,如果两个或多个图像的总点数相同,则根据这些图像的提交时间对它们进行排名。 (从旧到最近的订单)。如何打破平局?

最佳答案

您可以使用变量按总分降序和日期升序排名:

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

关于php - 积分排名系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27976487/

相关文章:

php - 我的 PDO 声明不起作用

mysql - SELECT 将检查超过 MAX_JOIN_SIZE 行

mysql - SQL 查询返回查询中的最高日期值

php - jquery 使用 javascript 或 php 发布到 php 页面

php - PDO::FETCH_CLASS 不将类名作为参数传递

javascript - 从 xml 文件创建 html5 播放列表

sql - 可选结构sql

php - 从 Flash 保存图像,将其发送到 PHP 并向 Flash 返回 URL 字符串

php - CodeIgniter:Case in where 子句

sql - 术语 "Tuple"在关系数据库中意味着什么?