首页 > 数据库 >PostgreSQL 生成随机整数

PostgreSQL 生成随机整数

时间:2023-05-04 17:12:26浏览次数:40  
标签:10 PostgreSQL postgres series 整数 num 随机 generate SELECT

首先 random() 函数用于生成 0-1 之间的随机数

postgres=# SELECT random() as rand;
rand
--------------------
0.6296923727161818
(1 row)

取整函数有 ceil() floor() trunc()

postgres=# SELECT ceil(1.5) as ceil, floor(1.5) as floor, trunc(1.5) as trunc;
ceil | floor | trunc
------+-------+-------
2 | 1 | 1
(1 row)

将以上两个函数结合起来就可以生成随机整数

-- 生成 1-10 之间的整数
postgres=# SELECT ceil(random() * 10) as randint;
randint
---------
4
(1 row)

generate_series() 用于生成一连串整数

postgres=# SELECT generate_series(1,3);
generate_series
-----------------
1
2
3
(3 rows)

postgres=# SELECT num FROM generate_series(1,3) AS series(num);
num
-----
1
2
3
(3 rows)

可用于重复查询

-- 重复 3 次打印当前时间(generate_series 步长为2)
postgres=# SELECT current_timestamp FROM generate_series(1,5,2);
current_timestamp
-------------------------------
2021-07-20 10:31:13.037552+08
2021-07-20 10:31:13.037552+08
2021-07-20 10:31:13.037552+08
(3 rows)

生成多个随机整数

10 个 1-10 之间的整数(有重复)

postgres=# SELECT ceil(random() * 10) AS num FROM generate_series(1,10);
num
-----
4
2
6
5
2
6
8
1
5
8
(10 rows)

5 个 1-10 之间的整数(无重复)

postgres=# SELECT num FROM generate_series(1,10) AS series(num) ORDER BY random() LIMIT 5;
num
-----
6
5
3
7
8
(5 rows)
————————————————
版权声明:本文为CSDN博主「jiang_huixin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiang_huixin/article/details/118930113

标签:10,PostgreSQL,postgres,series,整数,num,随机,generate,SELECT
From: https://www.cnblogs.com/telwanggs/p/17371863.html

相关文章

  • PostgreSQL 12 文档: 部分 I. 教程
    部分 I. 教程欢迎来到PostgreSQL教程。下面的几章将为那些新接触PostgreSQL、关系数据库概念和SQL语言的读者给出一个简单介绍。我们只假定读者拥有关于如何使用计算机的一般知识。读者不需要特殊的Unix或编程经验。这一部分主要希望给你一些关于PostgreSQL系统的重要方面......
  • 用二进制I/O进行随机访问
    /*randbin.c---用二进制I/O进行随机访问*/#include<stdio.h>#include<stdlib.h>#defineARSIZE1000//数组元素个数是ARSIZE,字符常量intmain(intargc,char*argv[]){doublenumbers[ARSIZE];//声明数组,doublevalue;constchar*file="numbers.......
  • .net 随机端口
    使用TcpListener获取一个可用的端口publicstaticintGetRandomPort(){varlistener=newTcpListener(IPAddress.Any,0);listener.Start();varport=((IPEndPoint)listener.LocalEndpoint).Port;listener.St......
  • PostgreSQL 执行计划
    查询计划扫描结点顺序扫描索引扫描只用索引的扫描位图堆扫描位图索引扫描公共表表达式的扫描自定义扫描外表扫描函数结果扫描子查询扫描表样本扫描行地址扫描行集合扫描工作表扫描连接结点哈希连接合并连接嵌套连接物化结点聚合位图与位图或分组......
  • postgresql有进程链接数据时删除数据库
    selectpg_terminate_backend(pg_stat_activity.pid)frompg_stat_activitywheredatname='数据库名称'andpid<>pg_backend_pid();命令解释:pg_terminate_backend:用来终止与数据库的连接的进程id的函数。pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。pg_......
  • 基于莱维飞行和随机游动策略的灰狼算法-附代码
    基于莱维飞行和随机游动策略的灰狼算法文章目录基于莱维飞行和随机游动策略的灰狼算法1.灰狼优化算法2.改进灰狼优化算法2.1分段可调节衰减因子2.2莱维飞行和随机游动策略3.实验结果4.参考文献5.Matlab代码6.python代码摘要:在标准灰狼优化算法寻优的中后期,由于衰减因子减小,......
  • m基于整数序列的QC-LDPC的稀疏校验矩阵构造算法性能对比matlab仿真,对比差分序列,PEG,
    1.算法仿真效果matlab2013b仿真结果如下:  2.算法涉及理论知识概要       QC-LDPC(Quasi-CyslicLow-DensityParity-CheckCodes)即准循环LDPC码。之前介绍的LDPC码基本属于随机构造法,构造出的码性能很好,但校验矩阵具有不规律性,存在校验矩阵存储于读取困难、编码复......
  • C-随机访问
    随机访问intfseek(FILE*stream,longintoffset,intwhence)stream--指向FILE对象的指针,该FILE对象标识了流.offset--这是相对whence的偏移量,以字节为单位.若为负则向前移.whence--这是表示开始添加偏移offset的位置.SEEK_SET--文件开头SEEK_CUR......
  • 【剑指 Offer】 43. 1~n 整数中 1 出现的次数
    【题目】输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1的数字有1、10、11和12,1一共出现了5次。 示例1:输入:n=12输出:5示例2:输入:n=13输出:6 限制:   1<=n<2^31来源:力扣(LeetCode)链接:https://leetcode.cn/problems/1nzheng-sh......
  • 异或:计算整数0~5的累计异或的3种方式
      #示例10-11计算整数0~5的累计异或的3种方式importfunctoolsimportoperator#方法1:n=0foriinrange(1,6):n^=iprint(n)#方法2:x1=functools.reduce(lambdaa,b:a^b,range(6))print(x1)#方法3:x2=functools.reduce(operator.xor,ra......