Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无重复排名_Php_Mysql_Point - Fatal编程技术网

Php 无重复排名

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_

下面是我的代码的副本,我的主要目标是根据照片id获得某些图像的排名。下面的代码工作得非常好,但问题是,如果有总积分,这两个图像的排名是相同的。我真正想要的是,如果这些图片有相同的总分,我想按日期排列它们。我怎样才能做到这一点

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