我正在处理SQL查询,在这里我想返回一列的值,仅当在同一行中另一列具有不同的值时。
以下是我的数据的示例:
表格:混合
ID WEIGHT
1 100
1 100
2 150
2 150
2 150
3 200
我想返回的是:
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
如何编写查询以返回所需的表?
答案 0 :(得分:1)
我将比较每个id的最小权重和最大权重,并仅返回它们相等的行:
SELECT id, MAX(weight)
FROM mytable
GROUP BY id
HAVING MAX(weight) = MIN(weight)