我需要从表中为测试数据选择随机行。有时,我需要的测试数据行数可能比表中的记录还多。复制是可以的。我如何构造我的select,以便我可以得到重复的行?[Persons]
ORDER BY NEWID() 如何让Select语句以随机顺序给出5条记录,并进行重复?目前,它只按随机顺序返回三个。我希望能够将其扩展到100行或1000行,或者我需要的任何数量。
对SO的搜索会产生许多结果,描述如何从数据库表中选择随机行数据。不过,我的要求有点不同,因为我希望以尽可能高效/随机/有趣的方式从随机行中选择单个列。为了更好地说明:我有一个大型的Customers表,我想从这个表中生成一堆虚构的演示客户记录,这些记录不是真实的人。(我对子查询的重复性特别不满,而且这个解决方案需要已知/固定数量的字段,因此是不可重用的。)SELECT
FirstName = (SELECT TOP 1 FirstName FROM Cus
我知道这里 (和这里)说的其他答案-- newid()点菜。但是,如果我在子查询中选择top 1 (以便在外部查询中生成每行随机选择),则每次使用newid()都会产生相同的结果。这就是: (select top 1 [value] from lookupTable where [code] = 'TEST' order by newid())
from在从lookupTable.value返回的每一行上