Php 获取图像排名
我使用下面的代码从我的表中获取图像排名。到目前为止,一切都很好,但问题是,如果两个或更多的图像有相似的点,它们得到相似的排名。我想要的是,如果两张图片有相似的点,我想根据这些图片提交的日期对它们进行排名Php 获取图像排名,php,mysql,sql,rank,Php,Mysql,Sql,Rank,我使用下面的代码从我的表中获取图像排名。到目前为止,一切都很好,但问题是,如果两个或更多的图像有相似的点,它们得到相似的排名。我想要的是,如果两张图片有相似的点,我想根据这些图片提交的日期对它们进行排名 SELECT uo.*, ( SELECT COUNT(DISTINCT ui.total_points) FROM photo_list ui WHERE ui.total_points>= uo.total_points ) AS ran
SELECT uo.*,
( SELECT COUNT(DISTINCT ui.total_points)
FROM photo_list ui
WHERE ui.total_points>= uo.total_points
) AS rank
FROM photo_list uo
这是我的桌子的样子
id | photo_id | total_points
1 432cfc 1
2 fsd324 123
3 gd43ds 5
您可以向比较中添加更多条件:
SELECT uo.*,
(SELECT COUNT(*)
FROM photo_list ui
WHERE ui.total_points > uo.total_points OR
ui.total_points = uo.total_points AND ui.submitted_date >= uo.submitted_date
) AS rank
FROM photo_list uo
我不确定您希望提交日期的排名顺序,但是
=
或能否提供此表的数据字典和示例数据集。您提到您希望根据提交日期进行排名,这个值也存储在表中吗?@BillyJones在收到答案后,请不要将问题的内容切换到完全无关的内容。