我们在其上存储的每一个问题一个表(名为试题库)选择随机分区战绩:有记录的指定数量在每个分区
Id Topic Hardness Position
4 1 3 4
5 1 2 1
6 1 1 2
7 1 3 3
8 1 3 4
9 2 2 1
10 2 2 2
11 2 3 3
12 3 1 1
13 3 1 1
14 3 1 2
每一个问题属于一个主题,有它自己的硬度和位置(基于其内容的每个类似问题在相应主题上具有相同的位置)。
请注意,位置列中的值没有意义,它只是在主题中划分相似的问题。
目标是以随机的方式选择带有Harness = 1的X记录和Hardness = 2的Y记录和Hardness = 3的Z记录等的N个记录;这个约束尽可能地没有结果集中返回的具有相似主题和位置的记录。
例如,Id = 4和Id = 8的记录在主题和位置中都是相似的,因此希望其中的一个在结果集中。
非常感谢你的解决方案@Martin。 我从昨天开始工作,它的工作完美。 – 2011-12-27 08:31:44
现在我陷入另一个问题: 如果我打算限制与话题相关的记录数量而不是硬度。解决方案是什么? 例如Topic = 1的3个记录,Topic = 2的4个记录和Topic = 3的2个记录(而不是例如2个Hardness = 1的记录,...) 预先感谢您的好意。 – 2011-12-27 08:47:10