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)
我正在处理一个 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)