SQL: Return 一列的值,仅当同一行上的另一列具有不同的值时

SQL: Return values of one column, only if on the same row another column has a distinct value

我正在处理一个 SQL 查询,我想在其中 return 一列的值,前提是同一行上的另一列具有不同的值。

这是我的数据的示例:

Table:混合

ID           WEIGHT           
1           100             
1           100
2           150
2           150
2           150
3           200

我想成为的 returned 是:

ID          WEIGHT
1           100
2           150
3           200

这是我现在正在尝试的:

DECLARE @UNIQUE_INGREDIENT DECIMAL(10,3);

SET @UNIQUE_INGREDIENT = SELECT DISTINCT Mix.ID,
                                Mix.WEIGHT
                         FROM MixLot

我应该如何将查询写入 return 我想要的 table?

我会比较每个 id 的最小和最大权重,return 只比较它们相等的行:

SELECT   id, MAX(weight)
FROM     mytable
GROUP BY id
HAVING   MAX(weight) = MIN(weight)