Php 无重复排名
下面是我的代码的副本,我的主要目标是根据照片id获得某些图像的排名。下面的代码工作得非常好,但问题是,如果有总积分,这两个图像的排名是相同的。我真正想要的是,如果这些图片有相同的总分,我想按日期排列它们。我怎样才能做到这一点Php 无重复排名,php,mysql,point,Php,Mysql,Point,下面是我的代码的副本,我的主要目标是根据照片id获得某些图像的排名。下面的代码工作得非常好,但问题是,如果有总积分,这两个图像的排名是相同的。我真正想要的是,如果这些图片有相同的总分,我想按日期排列它们。我怎样才能做到这一点 SELECT uo.*, ( SELECT COUNT(DISTINCT ui.total_points) FROM photo_list ui WHERE ui.total_points>= uo.total_
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
WHERE photo_id = :photo_id
我的桌子是这样的:
id | photo_id | total_points | date
1 432cfc 0 1403076412
2 fsd324 1 1403076413
3 gd43ds 0 1403076411
以下是我的愿望和结果:
rank | photo_id | total_points | date
1 fsd324 1 1403076413
2 gd43ds 0 1403076411
3 432cfc 0 1403076412
这就是问题所在
SELECT
( SELECT COUNT(DISTINCT ui.total_points)
FROM photo_list ui
WHERE ui.total_points>= uo.total_points
) AS rank,uo.photo_id,uo.total_points,uo.date1
FROM photo_list uo
ORDER BY rank ASC, date1 ASC
添加
按总积分排序,日期
。这应该有效。它不会给它一个尝试。你可以提供样本数据和DDL??指定表的数据结构。我尝试了你的样本数据。得到了预期的结果。我只是尝试了,它仍然返回相同的排名编号。你想用点对它们排序,然后是日期,对吗@请输入DGRCSchema和数据@PimenterDgrc@PimenterDgrc首先,这不是一个代码,这是一个查询给你的结果集。你需要学习一些方式,你应该帮助那些回答你的人。。。
SELECT
( SELECT COUNT(DISTINCT ui.total_points)
FROM photo_list ui
WHERE ui.total_points>= uo.total_points
) AS rank,uo.photo_id,uo.total_points,uo.date1
FROM photo_list uo
ORDER BY rank ASC, date1 ASC