【发布时间】:2014-02-24 19:46:00
【问题描述】:
我尝试使用Return rows in random order 中提供的解决方案在我的查询中获取随机记录。但是我必须将 NEWID() 添加到我想要获取的列列表中,否则我将无法添加 ORDER BY NEWID() 。不幸的是,它使我的结果集包含重复的记录。
为了进一步澄清,由于请求的列中存在 NEWID(),此查询使我的结果重复:
SELECT distinct top 4
Books.BookID,
Books.Authors,
Books.ShortTitle,
NEWID()
FROM Books
inner join Publishers on Books.PublisherID = Publishers.PublisherID
ORDER BY NEWID()
如何解决无法获取唯一记录的问题(这里 BookID 是 PK)?
【问题讨论】:
-
如果
BookID是主键,你如何获得任何重复值?
标签: sql sql-server select sql-order-by newid