0
$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';  

これら 2 つのクエリを組み合わせる方法はありますか。私は本当にそれらを 1 つのリソースで必要としています。現在、それぞれが1 日あたりの番号リクエストの数を示しています。dateそれぞれがphone_TotalPerDayとを持つように組み合わせたいと思いfax_TotalPerDayます。

4

1 に答える 1

1

次のような条件付き合計を使用できます

$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 句からリクエスト基準を削除しました。

于 2012-08-25T06:05:30.550 に答える