mysql有两张表结构完全一样的,只不过一个是人工一个是机器的,想把两张变当成一张表作为数据源查询,边搜索边尝试,最后查到union all能满足我的需求,
(select entry_id from push_rule union all select entry_id from push_rule_category ) as tb1
这句sql相当于把两张表的数据合成一个数据源,包含重复数据,注意要起别名。
完整sql:
select entry_id, count(*) from (select entry_id from push_rule union all select entry_id from push_rule_category ) as tb1 group by entry_id having
count(*)>1 order by count(*) desc;
单表查询指定时间段:
select entry_id,count(*) from push_rule_category where insert_time between "2019-05-05" and "2019-11-05" group by entry_id having count(*)>1 order by count(*) desc;
参考: