社区首页 >问答首页 >有没有办法从具有随机值的表列创建范围

有没有办法从具有随机值的表列创建范围
EN

Stack Overflow用户
提问于 2019-06-07 08:49:03
回答 1查看 185关注 0票数 0

我正在尝试获得一个范围,其中一个数字将下降,该范围将是从表的列的值创建的,例如。假设有一列'num1‘,它包含数据(12,15,10,40,20,5),我给23作为要搜索的数字,那么我可以得到'20和40’的输出。

我可以通过两个查询来实现所需的输出,但我希望有一个查询,列将具有唯一的值,因此如果列值匹配,则范围将是该数字及其最接近的较小值。如果输入为15,则输出将为12和15列值:(12,15,10,40,20,5)搜索值:30所需输出:'20和40‘

EN

回答 1

Stack Overflow用户

发布于 2019-06-14 12:56:49

也许像这样的东西会对你有利。使用LEAD()和LAG()窗口函数获取行的上一个和下一个值。

Sql Fiddle

代码语言:javascript
代码运行次数:0
复制
DECLARE @T TABLE(Number INT)
INSERT @T VALUES(12),(15),(10),(40),(20),(5)

SELECT 
  Number,
  NextNumber = ISNULL(LEAD(Number) OVER (PARTITION BY 1 ORDER BY Number),Number),
  LastNumber = ISNULL(LAG(Number) OVER (PARTITION BY 1 ORDER BY Number),Number)
FROM 
   T

从积累表中,您现在需要在可接受的范围内匹配输入,并选择最佳匹配(在本例中,它是最接近范围开始/结束的)。

代码语言:javascript
代码运行次数:0
复制
DECLARE @NumberToSearch INT =23

;WITH Ranges AS
(
    SELECT 
        Number,
        RangeStart = ISNULL(LAG(Number) OVER (PARTITION BY 1 ORDER BY Number) ,Number), 
        RangeEnd = ISNULL(LEAD(Number) OVER (PARTITION BY 1 ORDER BY Number) , Number)
    FROM 
        @T
)
,ApplicableRanges AS
(
    SELECT 
        Number,
        RangeStart,
        RangeEnd,
        Instance = ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY  RangeStart)
    FROM
        Ranges R
    WHERE
        @NumberToSearch BETWEEN R.RangeStart AND R.RangeEnd
)

SELECT * FROM ApplicableRanges WHERE Instance = 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56490987

复制
相关文章
PHP生成指定范围的随机小数
只能我们自己去实现这种算法, 本文记录使用PHP生成在指定范围内的随机小数算法几种方法
很酷的站长
2023/01/04
2.7K0
PHP生成指定范围的随机小数
功能测试的应用范围是怎样的?具有什么作用?
对于网站技术人才来讲,他们都会对功能测试这个概念感到熟悉,这是因为在制作以及开发网站的过程中,经常都需要对网站的各项功能和作用进行测试,以此来确保网站的功能可以满足目标用户的需求,这项技术服务的应用范围是怎样的?大家一起来了解吧!
用户8739990
2021/07/16
1.5K0
功能测试的应用范围是怎样的?具有什么作用?
C语言生成固定范围的随机数
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn
仙士可
2019/12/19
3.1K0
JS - 生成随机数的方法汇总(不同范围、类型的随机数)
因为 random 的特点,要取得这几个区间内的浮点数稍微麻烦些,需要借助一些判断才能满足要求。
ccf19881030
2020/05/18
28.4K0
shell脚本 从自定义的值中随机抽取+不重复
日期:2018/6/12 介绍:从数组里随机抽一个,但不会重复,相比之下python比较好做出效果
陈不成i
2021/06/24
3.3K0
SQL 确定序列里缺失值的范围
有一个序列表 seq,它有一个存整数序列值的字段叫作 id,原本序列的值是连续递增的,但因某些原因,有的值丢失了,我们希望能通过 SQL 找出缺失值的范围。
白日梦想家
2020/07/20
1.5K0
【说站】java产生随机整数指定范围
1、Math.random()会产生0-1的随机返回值[0,1),即大于等于0.0,小于1.0。
很酷的站长
2022/11/23
1.6K0
【说站】java产生随机整数指定范围
java integer范围值的大小_求最大值最小值的代码
最近在刷leetcode的题时,才发现有几道题的利用到Integer类型的最大值和最小值,尤其是在判断是否溢出的时候,有道题就非常经典直接判断最后一位,比如最大值231 – 1的最后一位是7,而最小值 -231 的最后一位是8,这样进行一个判断 8. 字符串转换整数 (atoi) 这道题对我在面试过程中被问到如何判断是否溢出有了很大启发 查下JDK1.6帮助文档是这样写的
全栈程序员站长
2022/10/04
1.3K0
java integer范围值的大小_求最大值最小值的代码
从MapX到MapXtreme2004[10]-根据zoom值修改显示范围
        原来在Mapx中只需要修改zoom值即可,现在也是一样。虽然map对象有setview方法,但似乎不太好用,因为需要coordsys。         zoom的属性             public MapInfo.Geometry.Distance Zoom {get; set;}       需要通过一个distance对象与之通信,直接对zoom.value赋值并不支持           MapInfo.Geometry.Distance dis=tmpMap.Zoom;  
用户1075292
2018/01/23
7100
Python生成随机数列表_numpy产生指定范围的随机数
1、np.random.rand 用于生成[0.0, 1.0)之间的随机浮点数, 当没有参数时,返回一个随机浮点数,当有一个参数时,返回该参数长度大小的一维随机浮点数数组,参数建议是整数型,因为未来版本的numpy可能不支持非整形参数。
全栈程序员站长
2022/11/09
2.9K0
【前端】JavaScript获取指定范围内的随机整数
zhaokang555
2023/10/17
1420
【前端】JavaScript获取指定范围内的随机整数
Excel表列序号
将字符转化为ASCII码,A-Z是连续的,且A为65,所以转换以后减一个65 + 1,值就在1-26里了。
_kyle
2020/12/03
1K0
jQuery 隐藏具有指定class属性值的元素
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>前端</title> <style> .antzone{ width:200px; height:100px; background:#ccc; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(func
IT工作者
2022/02/17
5K0
使用 RandomStringUtils 类来生成随机码/随机数 java生成指定范围的随机数
    /*         生成微信账号 8位的字符串 含有数字和字母      */     public String getRandomWeiChat(){         String str = "a0A0b1B2c1C3d2D1e3E2f4F3g5G7h4H6i5Ij4J9k5K6l6Lm7M7n8N8o9Op0PqQrRsStTuUv9VwWxXy8YzZ";         return RandomStringUtils.random(8, str);     }
bear_fish
2018/09/19
4.1K0
谈谈 Integer 的值缓存范围和对象大小
int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。
葆宁
2019/04/18
2.5K0
谈谈 Integer 的值缓存范围和对象大小
使用生成式对抗网络从随机噪声中创建数据
由于最近几周工作紧以及该文涉及机器学习,翻译有点水的厉害。推荐不要在这浪费时间还是直接看英文原文的好。
WindCoder
2018/09/19
3K0
使用生成式对抗网络从随机噪声中创建数据
创建具有视频背景的网站| HTML和CSS
创建具有视频背景的网站| HTML和CSS 。使用HTML和CSS在您的网站上添加Glass效果。为初学者学习HTML的简便方法
海拥
2021/08/23
1.9K0
创建具有视频背景的网站| HTML和CSS
不想装系统,有没有办法在线体验 Linux?
另外,这次分享还有承上启下的作用。承上是前几天挺受大家欢迎的《Android 手机如何改造成 Linux 服务器?》,启下是想预告:从明天开始,我会在每次发文的次条加入“轻松掌握Linux命令”系列,希望从基础的命令开始,提升 Linux 技术水平,敬请期待!
Python猫
2019/11/12
4.8K0
点击加载更多

相似问题

有没有办法打印随机值?

14

有没有办法从列表中检索多个随机值?

10

如何创建具有特定范围内的值的随机矩阵?

118

从列表列中创建具有唯一值的列

12

Pandas:从具有列表列表值的字典创建DataFrame

37
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档