我有一个mySQL语句,可以选择一些数据并进行排名。
我希望选择'Bob'的记录,例如,选择但不包括在排名中。所以,我需要在主select语句中返回Bob的行,但是我需要Bob从处理排名的子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 :(得分:0)
您应该使用AND x.name != 'Bob'
代替t.name
。