假设一个表结构:
Create Table Question { ID int pk,Category varchar Stem varchar,AnswerA varchar,... AnswerD varchar,Correct char,isMandatory bit }
对于给定的类别,大约有50个问题.可以有1-10个强制性问题.
我需要随机选择所有必修问题,然后提出足够的其他问题来提出20个问题.
解决方法
好的,这个怎么样
select top 20 * from question where category = @category order by isMandatory desc,newid()
请参阅newid()Random record from a database table (T-SQL)背后的推理答案