根据字段类型从 table tblFruit 生成随机记录

Generate random records from the table tblFruit based on the field Type

我需要你的帮助,根据字段类型从 table tblFruit 生成随机记录(不重复)

根据上述table.

有4种水果编号1,2,3,4

我想从 table tblFruit 动态生成 x 条记录(例如 7 条记录)。 假设我需要获得 7 个水果的随机记录。

我的结果应该包含不同类型的水果。但是,我们需要保证结果只包含7条记录。

即 2 条类型 1 的记录, 2 条类型 2 的记录, 2 条类型 3 的记录, 1 条记录类型 4

例如

注意:如果我想生成10条记录(不重复), 然后我将获得每种类型的 2 条记录和任意类型的随机剩余的两条记录。

非常感谢您的帮助。

我可能会建议:

select top (7) f.*
from tblfruit f
order by row_number() over (partition by type order by newid());

这实际上会产生一个结果,其中每种类型的行数大致相同(好吧,相差 1),但这满足您的需要。