mysql - 如何计算表中有多少条记录,然后只得到20?

时间:2014-01-18 20:11:10

标签: php mysql sql forum

我正在为一个学校项目建立一个论坛,我想在论坛上每页只显示20个帖子。但是,我仍然需要知道有多少帖子,以显示页面列表。 我可以运行一个mysql查询,将帖子数限制为20,然后运行另一个查询,计算表中有多少条记录,但这将是2个查询。是不是有办法在同一个查询中获得有限数量的记录,以获得总记录数?

感谢。

3 个答案:

答案 0 :(得分:4)

您可以使用子查询

select *,
       (select count(*) from your_table) as total_count
from your_table
order by some_column
limit 20

答案 1 :(得分:0)

我正在扩大juergen的职位:

$result = mysql_query("SELECT * (SELECT COUNT(*) FROM table) AS total FROM tablePRDER BY id LIMIT 0, 20");
while($row = mysql_fetch_assoc($result))
{
    $total = $row['total'];     /* Total rows of the whole table */
    $id = $row['id'];           /* Id of limitted query (20) */
}

答案 2 :(得分:0)

select *
from your_table
inner join (select count(*) as total_count from your_table) tc
order by some_column
limit 20;