mysql - 如何从 postgres 中的查询生成子集?

标签 mysql sql postgresql

我需要给定查询的元组子集。例如,如果我需要查找所有年龄超过 25 岁的员工的列表,并将其限制为最多 5 个。如何为其生成各种子集?

# select * from employee where age > 25 ;  
will list all the employee whose age is > 25 

tupleid = { 1,2,3,4,5,6,7,8,9 }

#select * from employee where age > 25 limit 5 ;
will list any 5 tuples from it.

tupleid on first time execution = {1,2,3,4,5}

但是我需要对我得到的 5 组元组进行某种排列 {1,2,3,4,5} {2,3,4,5,6} .. 等等 ..

有没有办法在 sql/postgres 中生成相同的内容?

编辑1: 因为这个问题一开始似乎很清楚。

我添加了一个示例表和我正在谈论的 sql 查询。 sqlfiddle.com/#!2/69a0c/2如果您看到第二个查询的输出,我只能看到 [1,2,3,4,5] 元组就是答案。我想要 [1,2,3,4,5] 、 [1,2,3,4,6] 、 [1,2,3,4,7] 等独特组合作为答案。

最佳答案

要获得“排列类型”,请使用 OFFSET:

SELECT *
FROM   employee
WHERE  age > 25
ORDER  BY employee_id    -- or whatever
OFFSET 1
LIMIT  5;

要获取随机样本:

SELECT *
FROM   employee
WHERE  age > 25
ORDER  BY random()
LIMIT  5;

Postgres。在 MySQL 中,您可以使用 RAND() 代替。

关于mysql - 如何从 postgres 中的查询生成子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19643953/

相关文章:

postgresql - Scala - 将字符串转换为时间戳

php - 冲水时如何改变操作顺序

mysql - 更新所有位置与计数然后更新

mysql - SQL 获取 WHERE 条件顺序

postgresql - 如何选择所有行,其中包含元素数组的任何元素

postgresql - pg_restore --clean 没有删除和清除数据库

javascript - Javascript 代码中的这个 If 条件有什么问题吗?

java - 使用 JComboBox 从数据库中检索数据清除 JTable

php - html注册表单不将数据保存在mysql中

mysql - 如何使用指向其他表主键的外键来连接2个表以返回SQL中具有该主键的所有行?