sql查询一个值在那个范围里

yanhuanghero 2016-03-04 02:01:14
有数据如下:
startV endV
1 3
3 5
6 9
如何查询一个值在这两个字段范围之间,如果要查的值是3(select * from 表名 where 3>=startV and 3<=endV),会返回两条记录,如何实现只返回第一条记录。
...全文
1306 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanhuanghero 2016-03-04
  • 打赏
  • 举报
回复
引用 4 楼 roy_88 的回复:
[quote=引用 3 楼 yanhuanghero 的回复:] [quote=引用 2 楼 roy_88 的回复:] SELECT TOP 1 * from 表名 where 3>=startV and 3<=endV ORDER BY startV 不改数据实现
公用的数据不能修改的,你说的这个办法我也想到了,但是我描述只是应用中的一个情景,并不是要查3这个一个数,两个表要关联查询,比如我要查(2,3,5,7)这些值[/quote] 表联接时这样用
SELECT  *
FROM    Table1 AS a
        CROSS APPLY ( SELECT TOP 1
                                *
                      FROM      表名
                      WHERE     a.列 >= startV
                                AND a.列 <= endV
                      ORDER BY  startV
                    ) AS b;
[/quote] 非常感谢,终于解决了我的问题
qq_31221931 2016-03-04
  • 打赏
  • 举报
回复
不改数据的话,是业务决定的了!sql能做的是把数据找出来!3的话是符合两条数据!现在应该得根据业务优先选取的方案来筛选数据了!还是多方面分析下业务,4楼已经说了几个方法了!具体还得看你的业务,取值优先级问题!
中国风 2016-03-04
  • 打赏
  • 举报
回复
引用 3 楼 yanhuanghero 的回复:
[quote=引用 2 楼 roy_88 的回复:] SELECT TOP 1 * from 表名 where 3>=startV and 3<=endV ORDER BY startV 不改数据实现
公用的数据不能修改的,你说的这个办法我也想到了,但是我描述只是应用中的一个情景,并不是要查3这个一个数,两个表要关联查询,比如我要查(2,3,5,7)这些值[/quote] 表联接时这样用
SELECT  *
FROM    Table1 AS a
        CROSS APPLY ( SELECT TOP 1
                                *
                      FROM      表名
                      WHERE     a.列 >= startV
                                AND a.列 <= endV
                      ORDER BY  startV
                    ) AS b;
yanhuanghero 2016-03-04
  • 打赏
  • 举报
回复
引用 2 楼 roy_88 的回复:
SELECT TOP 1 * from 表名 where 3>=startV and 3<=endV ORDER BY startV 不改数据实现
公用的数据不能修改的,你说的这个办法我也想到了,但是我描述只是应用中的一个情景,并不是要查3这个一个数,两个表要关联查询,比如我要查(2,3,5,7)这些值
中国风 2016-03-04
  • 打赏
  • 举报
回复
你自身数据有问题 第2条3-->4 4 5 或用>=startV AND <endV 1-4 4-6 7-9
中国风 2016-03-04
  • 打赏
  • 举报
回复
SELECT TOP 1 * from 表名 where 3>=startV and 3<=endV ORDER BY startV 不改数据实现

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧