WINDOW window_name AS (window_spec)[, window_name AS (window_spec)] ...
window_spec:[window_name] [partition_clause] [order_clause] [frame_clause]
SELECTval,ROW_NUMBER() OVER (ORDER BY val) AS 'row_number',RANK() OVER (ORDER BY val) AS 'rank',DENSE_RANK() OVER (ORDER BY val) AS 'dense_rank'FROM numbers;
SELECTval,ROW_NUMBER() OVER w AS 'row_number',RANK() OVER w AS 'rank',DENSE_RANK() OVER w AS 'dense_rank'FROM numbersWINDOW w AS (ORDER BY val);
SELECTDISTINCT year, country,FIRST_VALUE(year) OVER (w ORDER BY year ASC) AS first,FIRST_VALUE(year) OVER (w ORDER BY year DESC) AS lastFROM salesWINDOW w AS (PARTITION BY country);
OVER (w ORDER BY country)... WINDOW w AS (PARTITION BY country)
OVER (w PARTITION BY year)... WINDOW w AS (PARTITION BY country)
WINDOW w1 AS (w2), w2 AS (), w3 AS (w1)
WINDOW w1 AS (w2), w2 AS (w3), w3 AS (w1)
文章转载自林员外聊编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




