返回带行的行数

时间:2012-06-07 11:09:57

标签: mysql sql count

我想返回查询限制时返回的总行数,以便我可以返回前10个结果,并在我的PHP中使用“查看全部63”链接。我想我正在寻找类似的东西:

SELECT `n`.*, COUNT('id') AS `total` 
  FROM `table` 
 WHERE (name like '%search%') 
 LIMIT 10;

但这只会返回第一行。

2 个答案:

答案 0 :(得分:2)

SELECT n.*, total 
FROM table n, (select count(*) total  from table t2 where name like '%search%') 
where name like '%search%'
LIMIT 10

答案 1 :(得分:0)

    SELECT n.*, 
   COUNT(select id from AStotalFROMtable(name like '%search%') )  as Total
   AStotalFROMtable(name like '%search%') LIMIT 10;

阅读:MySQL: Get total number of rows when using LIMIT

也试试

FOUND_ROWS() - 对于带有LIMIT子句的SELECT,返回的行数没有LIMIT子句

SELECT SQL_CALC_FOUND_ROWS *    FROM `table`    WHERE  name like '%     
          search%'    LIMIT 10;    

SELECT FOUND_ROWS();

第一个查询将返回10行,第二个查询将返回第一个查询中没有LIMIT子句将返回的行数。