这是由以下条目组成的表
MODEL VALVE_SIZE D
PT21-15 2.5 150
PT21-15 2.8 180
PT21-15 3.2 240
PT21-20 2.8 215
PT21-20 3.2 250
我想获取值为d的行在150-250之间,并且不应重复模型名称。 我正在使用(选择型号,来自dis的valve_size,其中d> = 150且d <250)但我希望输出为无行,应该使用相同的型号名称重复。
预期产出
MODEL VALVE_SIZE D
PT21-15 2.5 150
PT21-20 2.8 215
答案 0 :(得分:0)
您的示例数据和输出意味着您希望每个模型具有最小 d
值(或可能valve_size
值)的单条记录。在这种情况下,您可以尝试以下查询:
WITH cte AS (
SELECT model, valve_size, d,
ROW_NUMBER() OVER (PARTITION BY model ORDER BY d) rn
FROM dis
WHERE d >= 150 AND d < 250
)
SELECT t.model,
t.valve_size,
t.d
FROM cte t
WHERE t.rn = 1
答案 1 :(得分:0)
尝试以下脚本,
SELECT MODEL,
MIN(VALVE_SIZE) AS VALVE_SIZE,
MIN(D) AS D
FROM TABLE1
WHERE D >= 150 AND d < 250
GROUP BY MODEL