我在创建组排名的MySQL If语句时遇到问题。这里是MySQL声明:MySQL如果声明和递增
SELECT EnCode, EnName, QuScore,
@scorerank := IF(@currathlete = EnCode, @scorerank + 1, 1),
@currathlete := EnCode
FROM ranking ORDER BY EnCode, QuScore DESC
目前,它提供了以下输出
'1004277','Ashe','1628','1','1004277'
'1004277','Ashe','1309','1','1004277'
'1004277','Ashe','1263','1','1004277'
'1004277','Ashe','648','1','1004277'
'1004277','Ashe','645','1','1004277'
'1004277','Ashe','1628','1','1004277'
'1015934', 'Sabina', '544', '1', '1015934'
'1015934', 'Sabina', '455', '1', '1015934'
'1015934', 'Sabina', '276', '1', '1015934'
'1015934', 'Sabina', '216', '1', '1015934'
它所应该具有相同的代码的每一行做的是增加每一个“1”号的一个,然后再从1开始,当它看到一个不同的代码号(1004277,然后是1015934在这种情况下)
任何帮助表示赞赏,因为我在网上使用上述方法遵循一些示例,但似乎击中了发出这一点。
给我你所需要的结果的图像。这算什么,你的意思是 '1004277', '阿什', '1628', '1', '1004277',1 '1004277', '阿什', '1309', '1', '1004277',2 “ 1004277' , '阿什', '1263', '1', '1004277',3 '1004277', '阿什', '648', '1', '1004277',4 '1004277', '阿什' , '645', '1', '1004277',5 '1004277', '阿什', '1628', '1', '1004277',6 '1015934', '臭', '544',' 1' , '1015934',1 '1015934', '臭', '455', '1', '1015934',2 '1015934', '臭', '276', '1', '1015934' ,3 '1015934','Sabina','216','1','1015934',4 –
嗨,是的结果应该看起来像下面的样子(第四列是需要递增的等级号):'1004277 ','Ashe','1628','1','1004277' '1004277','Ashe','1309','2','1004277' '1004277', '阿什', '1263', '3', '1004277' '1004277', '阿什', '648', '4', '1004277' '1004277', '阿什',” 645' , '5', '1004277' '1015934', '臭', '544', '1', '1015934' '1015934', '臭', '455', '2', '1015934' '1015934', '臭', '276', '3', '1015934' '1015934', '臭', '216', '4', '1015934' 由于 –
我有你问题的解决方案..你还在吗?@Robert –