3

以下是我已经尝试在 Sql 中选择随机问题的方法:

通过 newid() 从 testTable 中选择前 10 个 id

  • 未针对大数据进行优化

从 testTable 表样本中选择前 10 个 id(1%) - 但是对于表样本,我们不能确定它总是会返回数据,因为它适用于选择页面的概率

我已经尝试了其他几种方法来获取行号,但我仍然想要更优化的解决方案

我只想要那些之前没有选择的 id。我不想使用 not in 因为 sql 不会缓存 not in 查询。

欢迎任何比在查询中使用 not 更优化的方法来挑选尚未挑选的 id。

我将讨论表的架构:

假设有以下表格:

  1. 包含问题的表,QuestionsTable
  2. 包含所有用户进行测试的表说 testUserTale
  3. 包含测试中每个用户的问题的表。

所以我必须确保曾经尝试过问题的学生在下一次测试中不会再看到

4

1 回答 1

0

随机程序

此过程生成一个随机数(但请参阅使用说明)。

句法

DBMS_RANDOM.RANDOM RETURN binary_integer;

编译指示

PRAGMA restrict_references (random, WNDS) 返回值

于 2013-01-28T12:15:05.983 回答