我希望在最后10条记录中有5个随机行
select top(5) * from My_TBL order by /*DESC*/ NEWID()
答案 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个限制子句(在其他数据库引擎中排名第一)。