我有两个表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 | |
+-----------+--------------+------+-----+---------+----------------+
我想在特定日期从两个表中进行域名计数 所以请帮忙
答案 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”。