0

我有一个 mySQL 语句,可以选择一些数据并进行排名。

例如,我希望选择“Bob”的记录,但不包括在排名中。因此,我需要在主选择语句中返回 Bob 的行,但我需要将 Bob 从处理排名的子 SELECT 中排除。我需要 Bob 的数据,但他不应该计入排名。

我试过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

有什么建议么?

谢谢你。

-拉克西米迪

4

1 回答 1

0

您可能应该使用AND x.name != 'Bob'而不是t.name.

于 2010-08-04T02:37:29.860 回答