我正在处理在线问题申请。
我正在从数据库中获取记录。
我在10组中有SQL database
1000个问题。我的意思是每组包含 100 个问题。我如何从每组中随机抽取 20 个问题?我的意思是如何从每组中选择2 个(根据要求)随机问题?
我正在处理在线问题申请。
我正在从数据库中获取记录。
我在10组中有SQL database
1000个问题。我的意思是每组包含 100 个问题。我如何从每组中随机抽取 20 个问题?我的意思是如何从每组中选择2 个(根据要求)随机问题?
如果您需要从每个组中获得 20 个随机问题,这里是一个SQLFiddle 示例。SetNum
这是一个集合ID
select * from
(
select t.*,
ROW_NUMBER()
over (partition by setNum order by NewId()) rNum from t
) t2 where rNum<=20
如果您想2
从每个 SET 中获得随机问题,请尝试此操作...
SELECT TOP 2 * FROM (SELECT * FROM [YourTable] WHERE SET_ID = 1) ORDER By NEWID()
UNION
SELECT TOP 2 * FROM (SELECT * FROM [YourTable] WHERE SET_ID = 2) ORDER By NEWID()
UNION
.
.
.
.
UNION
SELECT TOP 2 * FROM (SELECT * FROM [YourTable] WHERE SET_ID = 10) ORDER By NEWID()