SQLクエリのアイデアの演習

1. 2つのテーブルの異なるデータ:

采用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