我尝试使用以随机顺序返回行中提供的解决方案来获取查询中的随机记录。但我必须添加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)?