我认为这很简单,但我无法理解它.
我有一个包含两列的映射/查找表.Col1用于从Col2查找值.
Col1是一个直的INT列,其值以20为增量递增,从500开始.因此,它具有500,520,540等值.这些值中的每一个都映射到Col2中的唯一十进制值.
现在当我运行查询时,我得到Col1的值不是20的增量.因此,我会被要求从Col2找到类似524.25的值的映射.在这种情况下,它应匹配Col1中520的值,并从Col2返回匹配的十进制值.如果此值为530或更高,则应匹配540,依此类推.
希望这是有道理的.提前致谢.
Vikram Goyal
您应该能够首先按差异的绝对值对行进行排序(对于最佳匹配行最低),然后取Col2第一行.
SELECT Col2
FROM your_table
ORDER BY ABS( Col1 - your_value )
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2498 次 |
| 最近记录: |