如何分組求中位數?例如:求各部門工資的中位數
uj5u.com熱心網友回復:
不知道你的中位數的定義是什么,只能猜一個。
WITH CTE_1
AS
(SELECT *,
DENSE_RANK() OVER (PARTITION BY 部門 ORDER BY 工資) AS SEQ
FROM TABLE),
CTE_2
AS
(SELECT *
MAX(SEQ) OVER (PARTITION BY 部門) AS MAX_SEQ
FROM CTE_1)
SELECT *
FROM CTE_2
WHERE SEQ=CEILING((MAX_SEQ*1.0)/2)
uj5u.com熱心網友回復:
感謝分享,剛測驗了一下,如果一組資料有6個,在取中位數的時候只是取了第3個,而不是取3,4個的平均值。請問有方法優化一下嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/113374.html
標籤:基礎類
上一篇:關于觸發器的一些問題
下一篇:不知道怎樣求候選碼
