计算众数(I)
很遗憾,没有内置函数可以直接计算列中出现最频繁的值(众数)。要计算众数:
- 首先,使用
ROW_NUMBER()创建一个包含按值计数并排序的 CTE - 然后,基于该 CTE 编写查询,选出具有最高行号的值
在本练习中,您将编写计算 OrderPrice 众数所需的 CTE。
本练习是课程的一部分
SQL Server 中级
练习说明
- 创建一个名为
ModePrice的 CTE,返回两列(OrderPrice和UnitPriceFrequency)。 - 编写查询,返回该 CTE 中的所有行。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Create a CTE Called ModePrice which contains two columns
___ ___ (___, ___)
___
(
SELECT OrderPrice,
ROW_NUMBER()
OVER(PARTITION BY OrderPrice ORDER BY OrderPrice) AS UnitPriceFrequency
FROM Orders
)
-- Select everything from the CTE
___