SELECT xxx, COUNT('x') CNT FROM `aaa` WHERE 1 AND d > 0
GROUP BY xxx HAVING CNT > 1 ORDER BY CNT DESC这样取完是大概3000条,我如何能知道我取到了三千条,因为要做分页,所以我必须能取出一共多少条非常感谢
GROUP BY xxx HAVING CNT > 1 ORDER BY CNT DESC这样取完是大概3000条,我如何能知道我取到了三千条,因为要做分页,所以我必须能取出一共多少条非常感谢
+----+------+-------+------+
| id | c1 | c2 | i2 |
+----+------+-------+------+
| 1 | AA1 | BB342 | 1 |
| 2 | AA2 | BB727 | 2 |
| 3 | AA3 | BB611 | 3 |
| 4 | AA4 | BB875 | 4 |
| 5 | AA5 | BB542 | 5 |
+----+------+-------+------+
5 rows in set (0.00 sec)mysql> select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
| 5 |
+--------------+
1 row in set (0.06 sec)mysql>
<?php$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);echo "$num_rows Rows\n";?>
select count(*) from teble where conditions...
select id, name from table where conditions limit 0, 20一条取总数,一条取分页要显示的数字我现在有个情况要
SELECT xxx, COUNT('x') CNT FROM `aaa` WHERE 1 AND d > 0
GROUP BY xxx HAVING CNT > 1 ORDER BY CNT DESC 就是这种情况下,我如何能取到总数,楼上几位说的都很对的说,不过在写程序中这样操作可能有些不太实际
GROUP BY xxx HAVING CNT > 1 ) t得到总数了。
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM t1 limit 10,10;
+----+------+-------+------+
| id | c1 | c2 | i2 |
+----+------+-------+------+
| 11 | AA11 | BB604 | 11 |
| 12 | AA12 | BB717 | 12 |
| 13 | AA13 | BB770 | 13 |
| 14 | AA14 | BB703 | 14 |
| 15 | AA15 | BB205 | 15 |
| 16 | AA16 | BB917 | 16 |
| 17 | AA17 | BB972 | 17 |
| 18 | AA18 | BB107 | 18 |
| 19 | AA19 | BB618 | 19 |
| 20 | AA20 | BB773 | 20 |
+----+------+-------+------+
10 rows in set (0.00 sec)mysql> select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
| 499999 |
+--------------+
1 row in set (0.00 sec)mysql>