我想返回查询限制时返回的总行数,以便我可以返回前10个结果,并在我的PHP中使用“查看全部63”链接。我想我正在寻找类似的东西:
SELECT `n`.*, COUNT('id') AS `total`
FROM `table`
WHERE (name like '%search%')
LIMIT 10;
但这只会返回第一行。
答案 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子句将返回的行数。