mysql - 对用户进行排名并连接表

标签 mysql sql

如何根据分数对用户进行排名并将该 user_sno 与另一个表的 refno 联接起来? 我没有使用下面的代码获得正确的排名:

select *, (@rank := @rank + 1) as rank
from tblB uv 
 join tblC c on uv.sno=c.refno
 join
     (select @rank := 0) const
where uv.sno in (2, 4,5) 
order by rank;

我真的很感谢任何帮助。提前致谢。

http://sqlfiddle.com/#!2/9be59/12

CREATE TABLE if not exists tblB
(
id int(11) NOT NULL auto_increment ,
sno varchar(255),
name varchar(255),
 PRIMARY KEY (id)
);

CREATE TABLE if not exists tblC
(
id int(11) NOT NULL auto_increment ,
data varchar(255),
  refno varchar(255),
  points int(255),
 PRIMARY KEY (id)
);






INSERT INTO tblB (sno, name ) VALUES
('1', 'Aa'),
('2', 'Bb'),
('3', 'Cc'),
('4', 'Dd'),
('5', 'Ee'),
('6', 'Ff'),
('7', 'Gg'),
('8', 'Hh');


INSERT INTO tblC (data,refno,points ) VALUES
('data1', '1', '101'),
('data2', '2', '102'),
('data3', '3', '103'),
('data4', '4', '101'),
('data5', '5', '102'),
('data6', '6', '103'),
('data7', '7', '101'),
('data8', '8', '101'),
('data9', '9', '101');

最佳答案

按排名排序,但您想按点数排序,这似乎是一个拼写错误。

关于mysql - 对用户进行排名并连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839497/

相关文章:

mysql - SQL表一次又一次接受相同的名称数据库名称检查

php - 无法使用 JsonP 获取希伯来语结果

php - 如何在 PHP7 中使用 Memcached?

php - mysql 在 join 和 union 和/或其他之间的搜索速度

sql - "WHERE (subquery) IN (subquery)"可能吗?

c# - sqlite-net like 语句崩溃

mysql - 加入Left或WHERE解决方案-最有效?

php - 如何在输入字段中显示查询结果的多个值?

php - 连接MySQL数据库中的三个不同的表

sql - 如何在2个表之间建立一对多关系