选择前y个记录的随机x

时间:2013-06-21 16:51:38

标签: sql

我需要从按金额排序的前100条记录中随机选择5条记录。

这可以分为2个查询,但我不知道如何在不创建函数的情况下将它们组合起来(我认为这可能效率较低。

查询1:按价格desc从汽车订单中选择TOP 100

查询2:SELECT TOP 5 * FROM(Query1)ORDER BY NEWID()

我只是不确定如何将这些结合起来,无论是使用内部连接还是仅使用内部选择?

我的第一反应是尝试这不起作用:

SELECT TOP 5 * FROM (SELECT TOP 100 * FROM Cars order by Price desc) ORDER BY NEWID()

1 个答案:

答案 0 :(得分:2)

您需要命名您的子查询:

SELECT TOP 5 * FROM (SELECT TOP 100 * FROM Cars order by Price desc) [A] ORDER BY NEWID()