如何在两行之间随机Sql

时间:2015-06-06 22:16:03

标签: sql random

我希望在最后10条记录中有5个随机行

select top(5) * from My_TBL order by /*DESC*/ NEWID()

2 个答案:

答案 0 :(得分:1)

假设SQL Server基于问题中的语法......

您可以使用CTE或派生表来逻辑定义" last"按照一些排序标准,然后从中选择5个随机的。

WITH Last10 AS
(
select TOP (10) * 
from My_TBL 
order by id DESC
)
SELECT TOP (5) *
FROM Last10
ORDER BY NEWID()

答案 1 :(得分:0)

使用postgresql:

{{1}}

iditem是Item Primary Key,用于在嵌套查询中排序,只占用最后10个。 那么where子句只获取10个选中的,最后通过随机排序顺序,只带5个限制子句(在其他数据库引擎中排名第一)。