0

クエリが制限されている場合に返される行の総数を返し、上位 10 件の結果を返すことができるようにしたいと考えています。私は次のようなものを探していると思います:

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

しかし、それは最初の行のみを返します。

4

2 に答える 2

2
SELECT n.*, total 
FROM table n, (select count(*) total  from table t2 where name like '%search%') 
where name like '%search%'
LIMIT 10
于 2012-06-07T11:13:50.873 に答える
0
    SELECT n.*, 
   COUNT(select id from AStotalFROMtable(name like '%search%') )  as Total
   AStotalFROMtable(name like '%search%') LIMIT 10;

また

読み取り:MySQL:LIMITを使用するときに行の総数を取得する

また、試してみてください

FOUND_ROWS()-LIMIT句のあるSELECTの場合、返される行数はLIMIT句がない場合

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

SELECT FOUND_ROWS();

最初のクエリは10行を返し、2番目のクエリは最初のクエリにLIMIT句がない場合に返される行数を返します。

于 2012-06-07T11:13:15.327 に答える