我们在工作中使用多个数据库,至少包括Oracle和MSSQL。不确定为什么我们需要同时使用两者,但是这个问题与MSSQL有关。
有一个表,我们称之为System..DirectMapping,其中有一个字段accountID。我不能保证它们都是数字,但它们似乎是数字。
所以我的问题实际上有两个相关部分。
首先,我必须找到一个有效的帐户ID。也就是在表中存在的ID。这很简单,但我想要随机获取一个。
因此,我执行了一个
有一个表,我们称之为System..DirectMapping,其中有一个字段accountID。我不能保证它们都是数字,但它们似乎是数字。
所以我的问题实际上有两个相关部分。
首先,我必须找到一个有效的帐户ID。也就是在表中存在的ID。这很简单,但我想要随机获取一个。
因此,我执行了一个
select distinct accountID from System..DirectMapping
虽然这种方法可以正常工作,但它们总是以相同的顺序出现。我了解到可以使用newid()来随机化某些内容,因此我尝试了一下。
select distinct accountID from System..DirectMapping order by newid()
但是它给了我一个错误,当选择不同的时候,order by字段必须出现在select语句中,这在这里没有意义。所以我尝试了:
select accountID from
(select distinct accountID from System..DirectMapping) j
order by newid()
但是它给了我一个类似的错误,关于无法按视图中的顺序排序。最后,我只是将整个内容读入到Java数组中,并执行了Collections.shuffle(),但最好还是从查询中进行操作,因为这样我可以限制结果的数量(我认为像前10名..)。所以有没有办法这样做呢?
第二个问题我会在以后再保存。