sql - 如何在 postgresql 中生成带有 id 的随机数序列查询?
问题描述
我想在 posgresql 中生成唯一的“随机”数字。
select s
from generate_series(1, 5) as s
order by random();
此查询结果如下:
| s |
|---|
| 2 |
| 5 |
| 1 |
| 3 |
| 4 |
但我想在它后面加上一个 id,如下所示:
| id | s |
|----|---|
| 1 | 2 |
| 2 | 5 |
| 3 | 1 |
| 4 | 3 |
| 5 | 4 |
解决方案
您可以使用ROW_NUMBER 函数。
SELECT
ROW_NUMBER () OVER (ORDER BY random()) AS id,
s
FROM generate_series(1, 5) AS s;
推荐阅读
- python - 我的 python 3.x 程序中出现 TypeError,但我不知道如何更改它
- android - 没有这样的列:_id(代码 1):,编译时:SELECT _id、姓名、年龄、性别、薪水、来自教师的科目
- javascript - 如何创建一个按钮来更改部分 href?
- mysql - Sql 语句从两个不同的表中获取信息
- php - 使用 CodeIgniter 从数据库中获取数据
- testing - @SuppressStaticInitializationFor 部分模拟
- android - 如何在安卓设备上查找文件
- python - 使用 Kivy 构建回合制游戏
- webpack - HTML 作为 Webpack 入口点
- java - generateReleaseBuildConfig errors out in a library