2010-08-04 2 views
0

У меня есть инструкция mySQL, которая выбирает некоторые данные, а также ранги.MySQl: Как исключить строку в ранжировании подзапроса

Я хочу, чтобы запись для «Боба», например, выбрана, но НЕ включена в рейтинг. Итак, мне нужна строка Боба, возвращаемая в основном выражении select, но мне нужен Боб, исключенный из sub-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

ответ

0

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

+0

Привет Янтарь, я пропустил это. Спасибо за помощь. – Laxmidi

Смежные вопросы