sql查询思路练习

1、 两个表中不相同的数据:

采用union all函数, 每一个元素出现的次数count(num), count(num)为1的则只出现过一次,即为两表不同的

select age,count(age)  from (select age from a union all select age from b) tem group by age having count(age) = 1;

2、一段时间内的数据:

SELECT id ,COUNT(*) FROM (SELECT *,row_number() over(PARTITION BY id ORDER BY dt) AS cum FROM (SELECT DISTINCT DATE(DATE) AS dt,id FROM person WHERE DATE BETWEEN DATE_ADD('2020-07-01',+0) AND DATE_ADD('2020-07-01',+4))a)b GROUP BY id HAVING COUNT(*)>=5;

猜你喜欢

转载自blog.csdn.net/weixin_44429965/article/details/107736242