这是一个表,由以下条目组成
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,其中d>=150和d预期产量
MODEL VALVE_SIZE D
PT21-15 2.5 150
PT21-20 2.8 215
最佳答案
您的示例数据和输出意味着您希望每个模型都有一个最小的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
关于sql - 想要删除单个表中的部分匹配的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41996650/