Получить изображения рейтинга

Я использую следующий код ниже, чтобы получить ранг изображения из моей таблицы. Пока что все работает отлично, но проблема в том, что если 2 или более изображений имеют одинаковые точки, они получают одинаковые оценки. То, что я хочу, это если 2 изображения имеют похожие точки, я хочу ранжировать их по дате их отправки.

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

-2

Решение

Вы можете добавить больше условий для сравнения:

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

Я не уверен, в каком порядке вы хотите ранжировать для представленной даты, но либо >= или же <= должно сработать. Обратите внимание, что я также изменил COUNT(), Подсчет только отправленных баллов не имеет смысла, если вы включаете другие функции данных.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]