<?php
$result = mysql_query("SELECT COUNT(`uid`), `mac`, SUM(`time`)/60 AS ConnTime, SUM(`download`)/1000000 AS TotalDown, SUM(`upload`)/1000000 AS TotalUp
FROM `cdr_data_january`
WHERE (`towerid` LIKE '".$btsid."') AND (`ldate` BETWEEN '".$date1."' AND '".$date2."')
GROUP BY `uid`
UNION
SELECT COUNT(`uid`), `mac_add`, SUM(`time`)/60 AS ConnTime, SUM(`download`)/1000000 AS TotalDown, SUM(`upload`)/1000000 AS TotalUp
FROM `cdr_data_february`
WHERE (`bts` LIKE '".$btsid."') AND (`ldate` BETWEEN '".$date1."' AND '".$date2."')
GROUP BY `uid`");
mysql_fetch_row($result);
$numrows = mysql_num_rows($result);
?>
edit here's the sql formatted for readability.
SELECT COUNT(`uid`),
`mac`,
SUM(`time`)/60 AS ConnTime,
SUM(`download`)/1000000 AS TotalDown, SUM(`upload`)/1000000 AS TotalUp
FROM `cdr_data_january`
WHERE (`towerid` LIKE '".$btsid."')
AND (`ldate` BETWEEN '".$date1."' AND '".$date2."')
GROUP BY `uid`
UNION
SELECT COUNT(`uid`),
`mac_add`,
SUM(`time`)/60 AS ConnTime,
SUM(`download`)/1000000 AS TotalDown,
SUM(`upload`)/1000000 AS TotalUp
FROM `cdr_data_february`
WHERE (`bts` LIKE '".$btsid."')
AND (`ldate` BETWEEN '".$date1."' AND '".$date2."')
GROUP BY `uid`
The above row is not returning me Number of Row.
The above code works while I grab entire table with (*) and count it like COUNT(*).
Please give me a solution so that I can get Number of Row for such Query where multiple UNION is used, and all columns are not grabbed.