sql-server - 在 SQL 中查找行的最大值
问题描述
我有一张这样的桌子
合同 | 值 1 | 价值 2 | 价值 3 | 价值 4 |
---|---|---|---|---|
A1 | 1 | 3 | 4 | 8 |
A2 | 9 | 3 | 8 | 3 |
如何找到每份合约的 1 2 3 4 5 的最大值
合同 | 值 1 | 价值 2 | 价值 3 | 价值 4 | 最大值 |
---|---|---|---|---|---|
A1 | 1 | 3 | 4 | 8 | 8 |
A2 | 9 | 3 | 8 | 3 | 9 |
请帮忙。
解决方案
一种方法是使用VALUES
子句取消透视数据,然后获取MAX
:
SELECT Contract,
Value1,
Value2,
Value3,
Value4,
(SELECT MAX([Value])
FROM (VALUES(Value1),
(Value2),
(Value3),
(Value4))V(Value)) AS MaxValue
FROM dbo.YourTable;
推荐阅读
- python - 如何根据 Python 中的最小值、最大值和可能值生成阶梯分布值?
- azure - 如何在 Azure DevOps Board 中设置 WIP 限制 - Sprint 视图
- sql - SQL:如果两个条件都满足而不是在多个where中单独排除,如何仅排除条件?
- php - yii2中camelcase字段模型的问题
- typescript - 为 Azure Functions 编写可测试的入口点
- flutter - 在颤动中更改文本字段的突出显示颜色
- java - Android Studio - 在另一个 aar 模块中隐藏 aar 模块依赖项
- python - 从字节创建固定大小元组的numpy数组的有效方法
- java - 为 HttpClientErrorException 设置 Httpstatus 499
- java - '源代码与字节码不匹配' Android Studio