选择最后x行SQL和PHP的总和

时间:2014-09-13 21:18:26

标签: php mysql sql

所以我试图在最近10场比赛中找到联盟数据库中的杀戮数量。两者都设置正确,没有SUM和LIMIT&订购它完美无缺。但是,当试图找到添加的最后10行的SUM时,我似乎遇到了绊脚石。在尝试了来自不同网站的一些建议的东西之后,我想出了一些看起来好像应该可以工作的东西,尽管它会带来错误:

Warning: mysql_result() expects parameter 1 to be resource, boolean given in "filepath" on the following line:

$kills = mysql_result(mysql_query("
    SELECT SUM(kills) 
    FROM (SELECT `kills` 
        FROM league 
        WHERE `gameType`='N' AND `champion`='$champion' 
        ORDER BY `matchID` DESC 
        LIMIT 10)"), 0);

当我试图回应$ kill

时出现错误

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

FROM子句中使用子查询时,MySQL要求您为其添加别名。

$kills = mysql_result(mysql_query("
    SELECT SUM(kills) 
    FROM (SELECT `kills` 
        FROM league 
        WHERE `gameType`='N' AND `champion`='$champion' 
        ORDER BY `matchID` DESC 
        LIMIT 10) AS x"), 0);

如果您在查询失败时遇到echo mysql_error();,那么您会意识到这是错误。

您真正想要的查询是:

SELECT SUM(kills)
FROM (SELECT *
    FROM league
    WHERE gameType = 'N'
    ORDER BY matchID DESC
    LIMIT 10) x
WHERE champion = '$champion'