0

代码:

$result = mysql_query("SELECT COUNT(`user_id`), `mac_add`, SUM(`duration`)/60 AS ConnTime, SUM(`download`)/1000000 AS TotalDown, SUM(`upload`)/1000000 AS TotalUp
   FROM `cdr_data_january` 
   WHERE (`bs_id_site` LIKE '".$btsid."') AND (`ldate` BETWEEN '".$date1."' AND '".$date2."') 
   GROUP BY `user_id` 
   UNION 
   SELECT COUNT(`user_id`), `mac_add`, SUM(`duration`)/60 AS ConnTime, SUM(`download`)/1000000 AS TotalDown, SUM(`upload`)/1000000 AS TotalUp 
   FROM `cdr_data_february` 
   WHERE (`bs_id_site` LIKE '".$btsid."') AND (`ldate` BETWEEN '".$date1."' AND '".$date2."') 
   GROUP BY `user_id`");

我有一个需要在 PHP 上运行的 MySQL 查询。

我需要在 GROUPING 之后获取行数(即在使用 GROUP BY 之后)。

$query_data = mysql_fetch_row($result);
$numrows = $query_data[0];

这实际上是返回给我的总行数(在 GROUPING 之前)。

我不明白接收行号的代码应该是什么(在 GROUPING 之后)。

案例注意事项:对于查询,它返回 15 作为 $numrows,这是 GROUP BY 之前的总行数,但我需要 $numrows 将返回 5,这是 GROUP BY 之后的行数。

如果有人知道解决方案,请帮助我解决它。谢谢。

4

1 回答 1

2

您可以使用 ...

$num_rows = mysql_num_rows($result);

...返回总行数。

于 2013-06-26T04:51:37.440 回答