单独查询计数

时间:2010-04-05 00:13:08

标签: sql mysql

我正在尝试让我的查询抓住多行,同时返回该查询的最大数量。

我的查询:

SELECT *, COUNT(*) as Max FROM tableA LIMIT 0 , 30

但是,它只输出1条记录。

我想返回多条记录,因为它是以下查询:

SELECT * FROM tableA LIMIT 0 , 30

我是否必须使用单独的查询?

2 个答案:

答案 0 :(得分:1)

使用单独的查询。

这是两个独立的信息,具有不同的结构。一个是行集,另一个是单个值。尽可能尝试在一个查询中返回这两条信息并不是一个好主意。

答案 1 :(得分:1)

嗯,您可以使用带有 SQL_CALC_FOUND_ROWS 功能的单个查询,也可以使用LIMIT。因此,当您通过mysql_query()运行第一个查询时,您还可以运行另一个查询:

mysql_query("SELECT FOUND_ROWS()");

将返回通过该查询找到的总行数(无论您是否使用LIMIT,SELECT FOUND_ROWS()都会在没有查询中提到的LIMIT的情况下为您提供结果计数。)

以下是一个示例查询:

SELECT SQL_CALC_FOUND_ROWS * FROM tbl_abc

由于