MySQl: Как исключить строку в подзапросе рейтинга - PullRequest
0 голосов
/ 04 августа 2010

У меня есть оператор mySQL, который выбирает некоторые данные и ранжирует их.

Я хочу, чтобы запись для «Боба», например, была выбрана, но НЕ была включена в рейтинг.Итак, мне нужно, чтобы строка Боба была возвращена в главном операторе select, но мне нужно, чтобы Боб был исключен из под-SELECT, который обрабатывает ранжирование.Мне нужны данные Боба, но он не должен учитываться в рейтинге.

Я пытался AND t.name !='Bob' после WHERE x.category = t.category Но это не работает.

SELECT     t.name,
           t.category,
           t.score1,
           t.score2,
    (SELECT COUNT(*) 
    FROM my_table x
    WHERE x.category = t.category
    AND (x.score1 + x.score2) >= (t.score1 + t.score2)
    ) AS rank 

    FROM my_table t ORDER BY rank ASC

Есть предложения?

Спасибо.

-Laxmidi

1 Ответ

0 голосов
/ 04 августа 2010

Вы, вероятно, должны использовать AND x.name != 'Bob' вместо t.name.

...