今天刷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