You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL问题:修正获取输入Sqft对应最接近值的Adjustment_Factor查询

修正SQL查询以处理距离相等时的向上匹配需求

现有Tab_SqftAdjustment表包含Sqft和Adjustment_Factor列,表中数据如下:

  • Sqft=400,Adjustment_Factor=1.41
  • Sqft=500,Adjustment_Factor=1.33
  • Sqft=600,Adjustment_Factor=1.25

需求是根据输入的Sqft值,获取最接近的舍入值对应的Adjustment_Factor,规则为:

  • 输入410→返回1.41(更接近400)
  • 输入450→返回1.33(与400、500距离相等时取更大的Sqft)
  • 输入550→返回1.25(与500、600距离相等时取更大的Sqft)

原查询的问题在于:当输入值与两个Sqft的距离相等时,会返回表中排序靠前的记录(比如550时返回500对应的1.33),不符合需求。

修正后的查询

SELECT TOP 1 Sqft, Adjustment_Factor
FROM Tab_SqftAdjustment
ORDER BY ABS(Sqft - @InputSqft), Sqft DESC

逻辑说明

  1. 第一排序条件ABS(Sqft - @InputSqft):按输入值与表中Sqft的距离升序排列,优先取距离最近的记录
  2. 第二排序条件Sqft DESC:当距离相等时,按Sqft降序排列,确保取更大的Sqft对应的Adjustment_Factor

将@InputSqft替换为实际输入的数值(比如550)即可得到预期结果:

  • 输入450时,400和500距离均为50,Sqft降序后500排在前面,返回1.33
  • 输入550时,500和600距离均为50,Sqft降序后600排在前面,返回1.25

内容的提问来源于stack exchange,提问作者Lorna Watawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:04:54