2011-12-05 2 views
1

하루에 그룹화 된 레코드 수를 계산하는 두 개의 MySQL 쿼리가 있습니다. 콘텐츠는 서로 관련이 있습니다 (결국 한 광고가 다른 광고의 비율로 표시되기를 바랍니다). 어떻게 그룹화할까요?두 개의 MySQL 쿼리를 결합하여 별도의 테이블을 나란히 계산합니다.

1 :

SELECT 
    COUNT(*) AS `total`, 
    CONCAT(DAY(logtime),'.',MONTH(logtime),'.',YEAR(logtime)) AS `day` 
FROM log 
WHERE some-conditions-here 
GROUP BY 
    YEAR(logtime), MONTH(logtime), DAY(logtime) 

2 :이

SELECT 
    COUNT(*) AS `otherTotal`, 
    CONCAT(DAY(tstamp),'.',MONTH(tstamp),'.',YEAR(tstamp)) AS `day` 
FROM othertable 
GROUP BY 
    YEAR(tstamp), MONTH(tstamp), DAY(tstamp) 

답변

2
select 
    q1.day, 
    (q2.total/q1.total)*100 as percentage 
from 
(
    // first group by 
) as q1 
inner join 
(
    // second group by 
) as q2 
using day; 

는 Q1 그래서, 당신이 희망 (0으로 어떤 분열을하지 않는, 항상
제로가 아닌 , 재미있어!)

관련 문제