Я пробовал использовать решение, представленное в Возвращать строки в случайном порядке для получения случайных записей в моем запросе. Но мне нужно добавить 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
является первичным ключом, как вообще получить какие-либо повторяющиеся значения? - person Gordon Linoff   schedule 24.02.2014