コード:
$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 を返す必要があります。
誰かが解決策を知っている場合は、解決するのを手伝ってください。ありがとう。