2
我的数据库有5表格类别的分类。 我也有一个名为“项目”的表,其中每个项目都有唯一的ID和类别ID FK。TSQL随机选择选择标准
我需要从1个类别中随机选择10个项目。
如果只有1个类别,这不会有问题。但表格“项目”以非连续顺序存储类别ID。
下面的随机选择语句工作,并能够在一个范围内生成随机ID。但是,我怎样才能生成10个属于同一类别的随机ID?
Declare @maxRandomValue tinyint = 100
, @minRandomValue tinyint = 0;
Select Cast(((@maxRandomValue + 1) - @minRandomValue)
* Rand() + @minRandomValue As tinyint) As 'randomNumber';
Defintions:
Table Categories
ID INT
Desc Varchar(100)
Table Items
ID Int
CategoryID Int (fk)
Desc Varchar(100)
是的,它是一个TSQL语句 –
看看[随机抽样这个MSDN文章(http://msdn.microsoft.com/en-us/library/ aa175776%28v = sql.80%29.aspx) –
'SELECT TOP 10 * FROM dbo.MyTable ORDER BY NEWID();'总是适合我。 – tugberk