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