$query1 = 'select DATE_FORMAT(time, "%Y-%m-%d") as date,
count(*) as phone_TotalPerDay
from numrequest
where id_usr = "'.$id_user.'"
AND id_re ="'.$id_re.'"
AND request="ph"
group by id_usr, year(time), DAYOFYEAR(time)
order by year(time) DESC, DAYOFYEAR(time) DESC';
$query2 = 'select DATE_FORMAT(time, "%Y-%m-%d") as date,
count(*) as fax_TotalPerDay
from numrequest
where id_usr = "'.$id_user.'"
AND id_re ="'.$id_re.'"
AND request="fx"
group by id_usr, year(time), DAYOFYEAR(time)
order by year(time) DESC, DAYOFYEAR(time) DESC';
有没有办法结合这两个查询。我真的需要它们在一种资源中。
目前,每个都显示每天号码请求的数量。我想将它们组合起来,以便每个 date
都有 phone_TotalPerDay
和 fax_TotalPerDay
。
最佳答案
您可以使用条件总和,例如
$query1 = 'select DATE_FORMAT(time, "%Y-%m-%d") as date,
sum(if(request = "ph", 1, 0)) phone_TotalPerDay,
sum(if(request = "fx", 1, 0)) fax_TotalPerDay
from numrequest
where id_usr = "'.$id_user.'"
AND id_re ="'.$id_re.'"
group by id_usr, year(time), DAYOFYEAR(time)
order by year(time) DESC, DAYOFYEAR(time) DESC';
如果请求类型匹配,if
语句将返回 1,否则返回 0,因此对这些值求和可有效计算与此条件匹配的行,并且我已从 where 子句中删除了请求条件。
关于php - 组合两个 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12119597/