sql - 大约获得最近的行
问题描述
我有一张这样的桌子:
表测试
Col1 Col2 Col3 Col4
5 6 7 8
12 6 5 6
2 3.5 6 1
我想找到最近的行:4、5.75、7.2、6 一个人可以找到它(第 1 行是答案),但是我怎样才能为计算机编写查询来找到它?
解决方案
我将“最接近”解释为“表值与提供值之间的绝对差异之和最小”:
select top 1 col1,col2,col3,col4
from yourtable
order by abs(col1-4)+abs(col2-5.75)+abs(col3-7.2)+abs(col4-6) asc
推荐阅读
- cassandra - Cassandra 次要与额外的表和阅读
- android - DiffUtil 回调导致索引超出范围异常
- c# - Skia - 将 SKSurface 裁剪为内容
- sql-server - SQL Server Standard 和 Enterprise Edition 2012 之间的区别
- r - 在 for 循环中使用 knitr::include_graphics 插入图像
- circuit-sdk - 如何从 Circuit Unify 发送带有附件的消息?
- highcharts - Highcharts:一个 xAxis 作为 10 系列没有恒定间隔的日期时间
- javascript - Node.Js 不执行匿名函数??-aws lambda -alexa 技能
- symfony - 将带有 filebeat 的 symfony 日志文件传输到本地 docker 环境中的 graylog
- android - 无法在芯片中添加图标