Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
表的MySQL行数_Mysql_Sql - Fatal编程技术网

表的MySQL行数

表的MySQL行数,mysql,sql,Mysql,Sql,我正在尝试获取我的表的行号。 到目前为止,这是我的SQL提示符: SELECT @i = @i + 1 AS Rank, x.Name, x.PartyName, x.ConstituencyName, x.Votes FROM ( SELECT CONCAT(t1.Firstname, ' ', t1.Lastname) AS Name, t1.PartyName, t1.ConstituencyName, COALESCE(t2.Count, 0) AS Votes

我正在尝试获取我的表的行号。 到目前为止,这是我的SQL提示符:

SELECT @i = @i + 1 AS Rank, x.Name, x.PartyName, x.ConstituencyName, x.Votes 
FROM (
    SELECT CONCAT(t1.Firstname, ' ', t1.Lastname) AS Name, t1.PartyName, t1.ConstituencyName, COALESCE(t2.Count, 0) AS Votes
        FROM (
            (SELECT db.user.PID, db.user.Firstname, db.user.Lastname, db.party.PartyName, db.constituency.ConstituencyName 
                FROM db.user
                LEFT JOIN db.party ON db.user.PartyId = db.party.PartyID 
                LEFT JOIN db.constituency ON db.user.CID = db.constituency.CID
                WHERE db.user.PartyId IS NOT NULL
                AND db.user.CID IS NOT NULL
            ) t1
            LEFT JOIN
            (SELECT db.user.Vote, COUNT(*) AS 'Count' 
                FROM db.user 
                GROUP BY db.user.Vote
            ) t2
        ON
            t1.PID = t2.Vote
        ORDER BY t2.Count DESC)
        ) x,
(SELECT @i:=1) r
这基本上是这样做的,首先我创建一个表t1(从两个不同的表中获取信息),然后将其与表t2连接,这样我就可以得到每个候选人的总投票数。然后,我将该表标记为“x”,并将其与表“r”连接起来,该表应该初始化行号(使用在线教程来初始化行号)。但是,当我运行此SQL提示符时,会得到以下结果:

Rank    Name    PartyName   ConstituencyName    Votes
0       Name1   Party1      Constituency1       700
0       Name2   Party1      Constituency1       550

任何建议都将不胜感激。

这是用户变量,您应该使用
:=
而不是
=

SELECT @i := @i + 1 AS Rank,...

天啊。我以前甚至用过这个注释(但后来数字都搞乱了,因为我当时用的是不同的函数),但是,是的,这确实奏效了。谢谢