Mysql 我的代码显示错误的排名值

Mysql 我的代码显示错误的排名值,mysql,sql,Mysql,Sql,我得到了错误的排名,但按降序排列的值是正确的: create table uservotes(id int, name varchar(50), vote int,state int); INSERT INTO uservotes VALUES (1, 'A', 34,1), (2, 'B', 80,1), (3, 'bA', 30,1), (4, 'C', 8,1), (5, 'D', 4,1), (6, 'E', 14,2), (7, 'F', 304,2), (8, 'AA', 42,3

我得到了错误的排名,但按降序排列的值是正确的:

create table uservotes(id int, name varchar(50), vote int,state int);

INSERT INTO uservotes VALUES
(1, 'A', 34,1),
(2, 'B', 80,1),
(3, 'bA', 30,1),
(4, 'C', 8,1),
(5, 'D', 4,1),
(6, 'E', 14,2),
(7, 'F', 304,2),
(8, 'AA', 42,3),
(9, 'Ab', 6,3),
(10, 'Aa', 10,3);

create table states(state_id int, name_state varchar(50));

INSERT INTO states VALUES
(1, 'CA'),
(2, 'AL'),
(3, 'AZ');
使用下面的代码,我得到的排名是6,2,1,3,5,而不是1,2,3,4,5为什么?另外,数值是正确的,而不是等级。请让我知道我的错误在哪里。 我真的很感谢你的帮助。提前谢谢你

select uv.*,
      @curRank := @curRank + 1 AS rank
from  uservotes uv cross join 
     states s 
     on uv.state = s.state_id, (select @curRank := 0) const
where name_state = 'CA'
order by vote desc limit 5;

试试这个。它的工作原理如下图所示:

结果:

ID  NAME    VOTE    STATE   RANK
2   B   80  1   1
1   A   34  1   2
3   bA  30  1   3
4   C   8   1   4
5   D   4   1   5

试试这个。它的工作原理如下图所示:

结果:

ID  NAME    VOTE    STATE   RANK
2   B   80  1   1
1   A   34  1   2
3   bA  30  1   3
4   C   8   1   4
5   D   4   1   5

试试这个。它的工作原理如下图所示:

结果:

ID  NAME    VOTE    STATE   RANK
2   B   80  1   1
1   A   34  1   2
3   bA  30  1   3
4   C   8   1   4
5   D   4   1   5

试试这个。它的工作原理如下图所示:

结果:

ID  NAME    VOTE    STATE   RANK
2   B   80  1   1
1   A   34  1   2
3   bA  30  1   3
4   C   8   1   4
5   D   4   1   5


DESC
是否泄露了它?我不知道它看起来不像。你能建议做些什么删除
DESC
位“排名错误列”-是我还是听起来很粗鲁?删除DESC无助于
DESC
泄露了它吗?我不知道它看起来不像。你能建议做些什么删除该列吗
desc
bit'getting Error ranking column'-是我还是听起来很粗鲁?删除desc无助于
desc
是否将其送出?我不知道它看起来不像。你能提出任何建议删除
desc
bit'getting Error ranking column'-是我还是听起来很粗鲁?删除desc无助于解决问题
DESC
放弃它?我不知道它看起来不像。你能建议做些什么删除
DESC
位“排名错误列”-是我还是听起来很粗鲁?删除DESC没有帮助谢谢Shiva.Perfect.Thank Shiva.Perfect.Thank Shiva.Perfect.Thank Shiva.Perfect.Thank Shiva.Thank Shiva.Perfect.Thank.Thank Shiva。