sql - 对于每个 Id2 值,获取 Id1 最低的一行,以及 Id1 最高的另一行
问题描述
我有一个有 2 列的表,如下所示:
Id1 Id2
------------
5286 1481
5391 1482
5546 1483
5702 1482
5747 1482
5833 1484
5850 1482
5878 1485
6000 1482
6035 1486
6181 1482
6259 1481
6274 1487
6378 1488
6379 1489
6400 1482
6469 1485
6575 1485
6822 1488
6876 1481
6901 1482
6931 1481
6939 1490
7083 1491
7214 1482
7241 1492
7429 1493
7498 1482
7541 1482
7618 1494
7745 1495
7797 1496
7869 1482
对于每个Id2
值,我想获得最低的Id1
一行,以及最高的另一行Id1
,例如Id2 = 1482
:
1482 5391
1482 7869
如何编写我的(Transact)SQL 查询来实现这一点?
先感谢您。
解决方案
试试这样:http ://sqlfiddle.com/#!18/db733/3/0
SELECT [Id2], MIN(Id1) AS [Id1]
FROM [table]
GROUP BY [Id2]
UNION ALL
SELECT [Id2], MAX(Id1) AS [Id1]
FROM [table]
GROUP BY [Id2]
ORDER BY [Id2], [Id1]
通过使用分组,您可以找到max
和min
的每个值[Id2]
。
推荐阅读
- rasa-nlu - 处理拼写错误的实体
- python - 如何在子图中将更多图添加到相同的轴?
- excel - 如何使用 VBA 在一张表中为所有连接刷新时禁用连接刷新
- php - 使用挂钩自定义 WooCommerce 运费税
- foreach - foreach Gmail API 中的等待问题
- curl - Mendeley API - 无法使用客户端凭据授权流程进行授权
- r - 使用 R 计算 3d 核密度估计中给定范围的总概率
- azure - Azure 自动数据分类
- angular - 如何知道我在 Angular 8 中是否有垂直滚动条?
- python - 如何找到熊猫中第一行和后续行的百分比差异?