数据从两个不同的表逐个计数

时间:2015-07-01 12:06:03

标签: mysql

我有两个表a,b,两个表结构与下面相同

+-----------+--------------+------+-----+---------+----------------+
| Field     | Type         | Null | Key | Default | Extra          |
+-----------+--------------+------+-----+---------+----------------+
| srno      | int(11)      | NO   | PRI | NULL    | auto_increment |
| domain    | varchar(50)  | NO   | UNI | NULL    |                |
| timestamp | timestamp    | YES  |     | NULL    |                |
| source    | varchar(100) | YES  |     | NULL    |                |
+-----------+--------------+------+-----+---------+----------------+

我想在特定日期从两个表中进行域名计数 所以请帮忙

1 个答案:

答案 0 :(得分:2)

我认为问题的棘手部分是你需要union all将表格放在一起。问题的其余部分尚不清楚。如果我将其解释为在某一天获得所有域名的计数:

select domain, count(*)
from ((select a.* from a) union all
      (select b.* from b)
     ) ab
where timestamp >= $YOURDATE and
      timestamp < date_add($YOURDATE, interval 1 day)
group by domain;

注意:两个表具有完全相同的结构通常表明数据库设计不佳。单个实体通常放在一个表中。更典型的是,将有一个表格,其中列指定“a”或“b”。