Php MySQL:如何将结果限制在最后5行

Php MySQL:如何将结果限制在最后5行,php,mysql,Php,Mysql,这显示了最近10个新结果,所有结果都正常 $query = "SELECT s.name AS song, SUM(v.hit_shit) AS hit, COUNT(v.hit_shit) - SUM(v.hit_shit) AS shit, MAX(date_voted) AS last_vote FROM songs AS s INNER JO

这显示了最近10个新结果,所有结果都正常

$query = "SELECT s.name AS song,
                 SUM(v.hit_shit) AS hit,
                 COUNT(v.hit_shit) - SUM(v.hit_shit) AS shit,
                 MAX(date_voted) AS last_vote
            FROM songs AS s
           INNER JOIN votes AS v ON v.song_id = s.id
           WHERE v.date_voted >= CURDATE()
           GROUP BY s.id
           ORDER BY last_vote DESC
           LIMIT 10";
$song = mysql_query($query);
但这场演出全部结束,但我只需要5个:(

$query=“选择s.name作为歌曲,
求和(v.hit_shit)为hit,
计数(v.hit_-shit)-将(v.hit_-shit)总和为shit
从歌曲到音乐
内部连接投票作为v ON v.song_id=s.id上的v
其中v.date_投票>=CURDATE()
和v.date_投票

p、 抱歉4我的坏英语

在您的查询末尾添加限制5

$query = "SELECT s.name AS song,
                 SUM(v.hit_shit) AS hit,
                 COUNT(v.hit_shit) - SUM(v.hit_shit) AS shit,
                 MAX(date_voted) AS last_vote
            FROM songs AS s
           INNER JOIN votes AS v ON v.song_id = s.id
           WHERE v.date_voted >= CURDATE()
           GROUP BY s.id
           ORDER BY last_vote DESC
           LIMIT 5";

$song = mysql_query($query);
$query = "SELECT s.name AS song,
                 SUM(v.hit_shit) AS hit,
                 COUNT(v.hit_shit) - SUM(v.hit_shit) AS shit
            FROM songs AS s
           INNER JOIN votes AS v ON v.song_id = s.id
           WHERE v.date_voted >= CURDATE()
             AND v.date_voted < CURDATE() + INTERVAL 1 DAY
           GROUP BY s.id
           ORDER BY hit DESC, shit ASC, song ASC
           LIMIT 5";

$song = mysql_query($query);
您应该在查询末尾添加参数“LIMIT”

$query = "SELECT s.name AS song,
                 SUM(v.hit_shit) AS hit,
                 COUNT(v.hit_shit) - SUM(v.hit_shit) AS shit,
                 MAX(date_voted) AS last_vote
            FROM songs AS s
           INNER JOIN votes AS v ON v.song_id = s.id
           WHERE v.date_voted >= CURDATE()
           GROUP BY s.id
           ORDER BY last_vote DESC
           LIMIT 5";

$song = mysql_query($query);
$query = "SELECT s.name AS song,
                 SUM(v.hit_shit) AS hit,
                 COUNT(v.hit_shit) - SUM(v.hit_shit) AS shit
            FROM songs AS s
           INNER JOIN votes AS v ON v.song_id = s.id
           WHERE v.date_voted >= CURDATE()
             AND v.date_voted < CURDATE() + INTERVAL 1 DAY
           GROUP BY s.id
           ORDER BY hit DESC, shit ASC, song ASC
           LIMIT 5";

$song = mysql_query($query);
$query=“选择s.name作为歌曲,
求和(v.hit_shit)为hit,
计数(v.hit_-shit)-将(v.hit_-shit)总和为shit
从歌曲到音乐
内部连接投票作为v ON v.song_id=s.id上的v
其中v.date_投票>=CURDATE()
和v.date_投票

编辑:修改代码格式。

限制10更改为限制5您在查询中没有注意到限制10吗?我会尝试的第一件事是将其从10更改为5。为什么会有这么多狗屎?关于第一个代码,我知道,但第二个(这就是限制返回查询数量的方法。如果您只想要5个结果,请限制前5个结果。哇,谢谢,真的很大谢谢:)如果答案对您有效,您应该接受它。@user2912266表格中的歌曲和投票是否很大?阅读100000条或更多记录?