MySQL 8.0及更高版本支持一些類似于DB2的窗口函數。窗口函數是一種特殊類型的函數,它在結果集中的行上操作,并返回每個行的結果。這些函數可以用來執行聚合操作,如求和、計數、平均值等,同時保留結果集中的其他列。
MySQL支持的窗口函數包括:
要使用窗口函數,需要在查詢中使用OVER子句,該子句定義了窗口函數應用于哪些行和列。
示例:
SELECT employee_id, salary, RANK() OVER (ORDER BY salary DESC) as rank
FROM employees;
這個查詢將按照工資降序排列員工,并為每個員工分配一個排名。
請注意,MySQL的窗口函數功能可能無法完全復制DB2的所有功能,但它們在許多情況下都非常有用。