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の後)。

ケースの注意: クエリの場合、$numrows として GROUP BY の前の行の総数である 15 を返しますが、$numrows が GROUP BY の後の行の数である 5 を返す必要があります。

誰かが解決策を知っている場合は、解決するのを手伝ってください。ありがとう。

4

1 に答える 1

2

あなたが使用することができます...

$num_rows = mysql_num_rows($result);

...合計行数を返します。

于 2013-06-26T04:51:37.440 に答える