假设(高度匿名):
Create Table myTable
(
ID INT PK,
INDEXNUMBER INT,
VERSION INT,
Data VARCHAR(MAX)
)
该表用于存储互斥数据。例如:
100 1 1 BOB
217 1 2 JOHN
319 1 3 GEORGE
420 7 1 MARY
415 7 2 SUSAN
在这种情况下,我需要随机选择 BOB、JOHN 或 GEORGE 中的一个和 MARY 或 SUSAN 中的一个。
我对 ID 或INDEXNUMBER/VERSION
配对感到满意。
如果它有助于考虑,这就像从包含花名册的表格中选择一个曲棍球队的单班:
从 3 个可用中选择 1 个中锋,从 5 个可用中选择 1 个左翼,等等。
我一直在玩NEWID()
and MAX/MIN
(Cast NEWID
to varchar
first),但我一直挂断GROUP BY
. 如果 I GROUP BY ID
,则 max 一次在单行上运行,产生整个表。
如果我GROUP BY INDEXNUMBER, VERSION
得到类似的结果(这对是唯一的)。
我需要做的是GROUP BY INDEXNUMBER
(完全从查询中排除ID
)但以某种方式检索VERSION
.