SQL查询最接近某一值的数据
数据库中有多条数据,有一列数据时数值的,如2,6,9,12,15,16,查询最接近10的数值,既9,查询语句该怎么写?...
数据库中有多条数据,有一列数据时数值的,如2,6,9,12,15,16,查询最接近10的数值,既9,查询语句该怎么写?
展开
展开全部
SELECT * FROM tablename
WHERE ABS(column-10)=(SELECT MIN(ABS(column-10)) FROM tablename)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-08
展开全部
SELECT TOP 1
*
FROM
表
ORDER BY
ABS( 10 - 列 );
*
FROM
表
ORDER BY
ABS( 10 - 列 );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select min(abs(a.col-10)) from table
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-08
展开全部
KEY_1 KEY_2 KEY_3 N1
20131008001 1 0 2
20131008001 2 0 6
20131008001 3 0 9
20131008001 4 0 12
20131008001 5 0 15
20131008001 6 0 16
SELECT a.*,abs(n1 - 10)
FROM (SELECT key_1,key_2,key_3, n1
FROM table_temp a
WHERE a.rekey_1 = '20131008001') a
WHERE abs(n1 - 10) = (SELECT MIN(abs(b.n1 - 10))
FROM table_temp b
WHERE b.key_1 = '20131008001' );
20131008001 1 0 2
20131008001 2 0 6
20131008001 3 0 9
20131008001 4 0 12
20131008001 5 0 15
20131008001 6 0 16
SELECT a.*,abs(n1 - 10)
FROM (SELECT key_1,key_2,key_3, n1
FROM table_temp a
WHERE a.rekey_1 = '20131008001') a
WHERE abs(n1 - 10) = (SELECT MIN(abs(b.n1 - 10))
FROM table_temp b
WHERE b.key_1 = '20131008001' );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询