随机选择不同的

时间:2017-05-12 13:39:46

标签: java sql-server

我们在工作中使用多个数据库,至少是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 ..)。有没有办法做到这一点?

我将保留第二个问题以供日后使用。

0 个答案:

没有答案