前30天
between date_sub(‘XXXX’ interval 30day) and XXX
仅在XX期间售卖过
having
sum(case when sale_date <‘2010-01-01’ then 1 else 0 end )=0 – 在这之前没卖过
and sum(case when sale_date >‘2010-03-01’ then 1 else 0 end )=0 – 在这之后没卖过
and sum(case when sale_date between ‘2010-01-01’ and ‘2010-03-01’ then 1 else 0 end )>=0 ---- 这个期间卖过(有可能1次、2次、3次)
窗口函数
表达式:
row_number()over(partition by xx order byXX)
思路:
先把部门的工资倒序排序,然后在外面再包一层,找出最高工资的人,rn=1的
备注:
row_number()、rank()、desen_rank()都行,反正是找最高,并列也无妨