sql - 如何在 T-SQL 中选择具有最大值的列?
问题描述
我正在尝试找到销售额最多的月份,我已经能够使用以下方式显示每个月的销售额:
SELECT Month(orderdate) AS Month,
Year(orderdate) AS Year,
Sum(salesorderid) AS Sales
FROM sales.salesorderheader
GROUP BY Month(orderdate),
Year(orderdate)
这表明
但我只想选择销量最高的月份。
解决方案
如果我是正确的,您想打印具有最大销售额的单个结果这里“salesorderid”是该月的总销售额
- 尝试添加 MAX
SELECT Month(orderdate) AS Month,
Year(orderdate) AS Year,
MAX(Sum(salesorderid)) AS Sales
FROM sales.salesorderheader
GROUP BY Month(orderdate),
Year(orderdate)
- 或者尝试使用 HAVING 子句
SELECT Month(orderdate) AS Month,
Year(orderdate) AS Year,
Sum(salesorderid) AS Sales
FROM sales.salesorderheader
GROUP BY Month(orderdate),
Year(orderdate)
HAVING MAX(Sum(salesorderid))
因为 Sum(salesorderid) 是总销售额,这可能有效......
推荐阅读
- python - 如何将循环转换为多处理?
- python-3.x - for 循环追加字符串,但不连接
- .net - .Net Core Nuget 参考问题
- square - Square 退款 API 是否停止工作?
- c# - 无法在 C# 中验证 Google oAuth JWT
- c# - 为什么 timer_Tick 代码运行时我的程序会冻结?
- c# - 在 Windows 窗体的选项卡控件中与多个页面共享一个按钮
- c# - C# SameSite 标志问题
- c# - 将 StorageFileQueryResult 与图像元数据一起使用时,StorageFile.GetImagePropertiesAsync() 会给出错误的结果
- reactjs - MobX。@observable 有效,但 @computed 无效