结合两个查询单独表的MySQL查询并排计数

时间:2011-12-05 11:52:36

标签: 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)

1 个答案:

答案 0 :(得分: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总是非零,
所以,你没有得到任何除零(希望,玩得开心!)