1.row_number()
1 SELECT b.user_name, 2 b.goods_kind 3 FROM 4 (SELECT user_name, 5 goods_kind, 6 row_number() over(partition BY user_name ORDER BY count(goods_kind) DESC) AS rank 7 FROM user_goods_table) b 8 WHERE b.rank =1
2.ntile(n)
SELECT b.user_name FROM (SELECT user_name, ntile(5) over(ORDER BY sum(pay_amount) DESC) AS LEVEL FROM user_sales_table GROUP BY user_name) b WHERE b.LEVEL = 1
3.lead(date,n)
SELECT b.user_name (SELECT user_name, date,lead(date,7) over(partition BY user_name ORDER BY date DESC) AS date_7 FROM user_login_table) b WHERE b.date IS NOT NULL AND date_sub(cast(b.date AS date,7)) = cast(b.date_7 AS date)
原文:https://www.cnblogs.com/mumu365/p/12073285.html