@ojiekcahdp

Как сделать, чтобы при получении позиции в таблице, если записи нет, выдавало 0?

Запрос выглядит следующим образом:
SELECT COUNT(*) + 1 AS `position` FROM `season_" + season + "` WHERE `RATING` > ( SELECT `RATING` FROM `season_" + season + "` WHERE `ID`= '" + id + "' LIMIT 1 )

Но если записи нет в таблице, то выдаёт 1, как быть?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
Если нужно добавлять +1 когда есть записи, то так например:
select case when a.position = 0 
            then 0 
            else a.position +1
        end position
  from (SELECT COUNT(*) AS `position` 
          FROM `season_" + season + "` 
         WHERE `RATING` > ( SELECT `RATING` 
                              FROM `season_" + season + "` 
                             WHERE `ID`= '" + id + "' LIMIT 1 )
    ) as a
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы