0
我有一个查询效果很好,因为结果只有一个数字,但现在我需要允许多行返回并且查询无法处理,因为它使用用户定义变量。 ..这里是原来的程序替换mysql用户定义变量
CREATE DEFINER=`root`@`%` PROCEDURE `MapRank`(pTankID bigint,pMapID int, pColor int(2))
BEGIN
SET @RankNumber:=0;
select RankNumber
from
(select
TankID,
@RankNumber:[email protected]+1 as RankNumber,
MapID,
Color
from MAPDATA WHERE MapID = pMapID order by Rank DESC, TotalPP DESC) Query1 where TankID = pTankID AND COLOR = pColor ;
END
下来是这样,给我“行”的位置这将返回一个数字,实际上计数的记录数。
现在我需要去改变它给我的所有行了其中的的azazaz和颜色,这样我可以看到所有的行列所有的azazaz /颜色组合
这是我目前不工作
SET @RankNumber:=0;
select
RankNumber,MapID,COlor
from
(select
TankID,
@RankNumber:[email protected] + 1 as RankNumber,
MapID,
Color
from
MAPDATA
order by TotalPP DESC) Query1
where
TankID = 18209 ORDER BY RankNumber
屈服查询结果看起来就像这样:
1062 3 1
3544 3 0
6717 17 1
6752 17 3
7453 3 2
7860 17 0
7984 17 2
9220 3 3
如果我手动运行可以说,地图ID 3和3色它说排名是9220与第一个查询我得到这
6022
我需要这是能够从多个MySQL连接,所以最好不使用,因为它可能是其他人的临时变量做可能做可以进来,并使用该...任何帮助将是巨大的。