首页 新闻 搜索 专区 学院

一个简单的sql语句问题,

0
[已解决问题] 解决于 2020-12-01 16:34

我想 按最接近某个值的数据进行排序,比如:我的条件是 5,要查出的数据是要接近5的数字,就像

6
4
7
3
8
2

这样,从5向两边获取数据

爱吃鲸的虾的主页 爱吃鲸的虾 | 初学一级 | 园豆:149
提问于:2020-11-02 18:03
< >
分享
最佳答案
0

这时候,你需要把
“最接近5的数字”
这个需求变成一个可以量化的东西。
1、什么可以衡量接近?数学上来说,是不是 ABS(X-5)越小越接近?
2、然后你再想想接下来需要做什么。

奖励园豆:5
爱编程的大叔 | 高人七级 |园豆:30753 | 2020-11-02 22:23
其他回答(1)
0
SELECT
	* 
FROM
	t 
ORDER BY
	ABS( t.Num - 5 )

----原答案---

select * fromm t where num > 5-x and num < 5+x
会长 | 园豆:9692 (大侠五级) | 2020-11-03 09:19

需求是排序,而不是筛选。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30753 (高人七级) | 2020-11-03 09:22

@爱编程的大叔: 哦....我写个试试

SELECT
	* 
FROM
	t 
ORDER BY
	ABS( t.Num - 5 )
支持(0) 反对(0) 会长 | 园豆:9692 (大侠五级) | 2020-11-03 09:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册