注:MySQL8 中支持窗口函數(shù)(window functions)
- 在WHERE子句中引用別名列:將含有別名的列放入內(nèi)嵌視圖
- 在SELECT語(yǔ)句里使用條件邏輯:CASE表達(dá)式 case when .. then .. when .. then .. else .. end
- 隨機(jī)返回若干行記錄:order by rand()
- 把Null值轉(zhuǎn)換為實(shí)際值:coalesce()
- 查找匹配項(xiàng):LIKE %匹配任意長(zhǎng)度的連續(xù)字符 _匹配單個(gè)字符
- 累計(jì)求和:窗口函數(shù)SUM
- 累計(jì)乘積:SUM OVER,并用對(duì)數(shù)模擬乘法
- 計(jì)算眾數(shù):窗口函數(shù)DENSE_RANK / 子查詢
- 計(jì)算中位數(shù):窗口函數(shù)COUNT(*) OVER和ROW_NUMBER
- 跳過(guò)n行記錄:使用ROW_NUMBER OVER為每一行分配序號(hào),再借助模函數(shù)
- 提取最靠前的n行記錄 DENSE_RANK
- 找到最大和最小的記錄 MIN OVER和MAX OVER