【发布时间】:2010-01-13 00:08:33
【问题描述】:
我有这个用于 MS SQL Server 2008 的 SQL:
WITH CTE AS (
SELECT e_id,
scale,
ROW_NUMBER() OVER(PARTITION BY e_id ORDER BY scale ASC) AS rn,
COUNT(scale) OVER(PARTITION BY e_id) AS cn
FROM waypoint.dbo.ScoreMaster
WHERE scale IS NOT NULL
)
SELECT e_id,
cast(AVG (cast(scale as decimal(5,2))) as decimal(5,3)) as [AVG],
cast (STDEV(cast(scale as decimal(5,1))) as decimal(5,3)) as [STDDEV],
AVG(CASE WHEN 2 * rn - cn BETWEEN 0 AND 2 THEN
scale END) AS FinancialMedian,
MAX(CASE WHEN 2 * rn - cn BETWEEN 0 AND 2 THEN
scale END) AS StatisticalMedian
from CTE
GROUP BY e_id
我想添加模式。 我一直在尝试不同的想法,但还没有任何效果...
【问题讨论】:
-
当碰巧存在双峰样本(有两种模式)时,您希望您的 sql 表现如何?当有两种以上的模式时?
标签: sql-server