sql - 如何选择接近某个值但不需要是 SQL 中的确切值的数据?
问题描述
我需要在 SQL 中使用 Select 进行查询,我必须显示哪个字段更接近数字 PI (3,141592...)。我怎么能那样做?
select * from Table where --????;
解决方案
对于 MySQL 和 PostgreSQL,您可以对结果进行排序ABS(col - 3.141592)
并用于LIMIT 1
获取最接近的值,例如
SELECT col
FROM yourtable
ORDER BY ABS(col - 3.141592)
LIMIT 1
对于 SQL Server,使用TOP 1 col
和删除LIMIT 1
; 对于 ANSI SQL ,您可以使用FETCH FIRST 1 ROW
.LIMIT 1
推荐阅读
- ruby - 如何在 ruby 中动态初始化实例变量?
- c# - Azure 持久功能 - 在 Orchestrator 中执行
- r - 使用R从长字符串中提取部分单词到字段中
- javascript - textChanged 上的 Javascript 或 Jquery 验证
- macos - Mac 上的 sudo:/usr/bin/sudo 必须由 uid 0 拥有并设置了 setuid 位
- python - 当我不在窗口时,我可以让窗口对输入做出反应吗?
- python - 由于 docker-compose,Ansible AWX 安装失败
- shell - 正则表达式模式作为 AWK 中的变量
- javascript - 使用 p5js 循环 gif n 次
- python - 使用 Python Pandas 矢量化确定每一行的追踪止损结果