今天刷leetcode的sql, 看到一道题目,
题目的难点在于,近30天这个条件的满足。 学习到一个新的函数----datediff():函数返回两个日期之间的天数。 【语法】 DATEDIFF(date1,date2) 注释:只有值的日期部分参与计算。
SELECT DATEDIFF
('2008-11-30','2008-11-29') AS DiffDate
SELECT DATEDIFF
('2008-11-29','2008-11-30') AS DiffDate
以上两条,第一条输出1,第二条输出-1。 故是用date1减去date2。
以上题目的结果:
select activity_date
day, count(distinct user_id
) active_users
from Activity
where datediff
('2019-07-27',activity_date
) < 30
group by activity_date