我们在工作中使用多个数据库,至少是Oracle和MSSQL。不知道为什么我们必须使用这两个,但这个问题是关于MSSQL。
有一个表,我们只需将其称为具有字段accountID的System..DirectMapping。我无法保证它们都是数字,但它们似乎是。
所以我的问题实际上是两个相关的部分。
首先,我必须找到有效的帐户ID。这是表中的一个。这是直截了当的,但我想随机一个。
所以我做了一个
select distinct accountID from System..DirectMapping
哪个有效,但它们始终处于相同的顺序。我读了你如何用newid()随机化一些东西,所以我试过
select distinct accountID from System..DirectMapping order by newid()
但它给了我一个错误,当选择distinct时,order by字段必须出现在select中,这里没有意义。所以我试过
select accountID from
(select distinct accountID from System..DirectMapping) j
order by newid()
但它给了我一个关于无法在视图中排序的类似错误。我最后只是把整个东西都读成了一个java数组,然后做了一个Collections.shuffle(),但最好从查询中做到这一点,因为那时我可以限制结果的数量(我觉得像前10 ..)。有没有办法做到这一点?
我将保留第二个问题以供日后使用。