我需要从表中选择10个随机行,但必须在where子句中完成,因为查询是使用另一个只允许修改此部分的应用程序执行的。
我搜索了很多解决方案(select top 10
,RAND()
,ORDER BY NEWID()
,...),但没有在where子句中工作。
有选择吗?还是某种解决方法?
答案 0 :(得分:3)
试试这个:
SELECT TYPE, MAX(from_sale), week_day
FROM deliverability.test_repo
WHERE week_day = 'Friday'
GROUP BY TYPE, week_day
答案 1 :(得分:1)
如果您的表具有唯一列,则可以执行以下操作:
SELECT * FROM TABLE WHERE PRIMARYCOLUMN IN (SELECT TOP(10) PRIMARYCOLUMN FROM TABLE ORDER BY NEWID())