选择除最小值之外的所有值,并在另一列中添加相应的最小值

问题描述 投票:0回答:1

考虑这张表:

id 文字
101 黑色
102 黑色
103 白色
104 白色
105 白色

如何选择除 min id 之外的所有 id,同时在另一列中添加相应的 min 值?所以预期的结果会是这样的:

不分 文字 最小 ID
102 黑色 101
104 白色 103
105 白色 103

我使用的是sql server 15。

sql sql-server group-by max min
1个回答
0
投票

您可以使用窗口化

MIN
:

SELECT *
FROM (  
   SELECT [id], [text], [min id] = MIN([id]) OVER (PARTITION BY [text] ORDER BY [id])
   FROM Data
) t
WHERE [id] <> [min id]
© www.soinside.com 2019 - 2024. All rights reserved.