我想返回查询受限时返回的总行数,以便我可以返回前 10 个结果,并在我的 PHP 中使用“查看全部 63”链接。我想我正在寻找类似的东西:
SELECT `n`.*, COUNT('id') AS `total`
FROM `table`
WHERE (name like '%search%')
LIMIT 10;
但这只会返回第一行。
SELECT n.*, total
FROM table n, (select count(*) total from table t2 where name like '%search%')
where name like '%search%'
LIMIT 10
SELECT n.*,
COUNT(select id from AStotalFROMtable(name like '%search%') ) as Total
AStotalFROMtable(name like '%search%') LIMIT 10;
或者
也试试
FOUND_ROWS()
- 对于带有 LIMIT 子句的 SELECT,如果没有 LIMIT 子句,将返回的行数
SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE name like '%
search%' LIMIT 10;
SELECT FOUND_ROWS();
第一个查询将返回 10 行,第二个查询将返回在第一个查询中没有 LIMIT 子句的情况下将返回的行数。