Может ли кто-нибудь помочь мне понять, как использовать функцию RAND () на SQL сервере?
У меня есть сценарий, в котором я хочу получать случайные продукты из таблицы продуктов в случайном порядке на основе
Кроме того, здесь я хочу отдать предпочтение продуктам с более высоким рейтингом, а не продуктам с более низким рейтингом, которые должны быть наверху. прийти вверх по порядку; иногда продукты с более низким рейтингом должны быть наверху.
На данный момент я использовал NEWID()
, который дает мне случайный порядок каждый раз, но не учитывает ранжирование продуктов.
Столбцы таблицы: ProductID, ProductName, Rating
SELECT ROW_NUMBER() OVER(ORDER BY NEWID() ASC) AS ProductOrder, ProductID, Rating
FROM dbo.VIHC_Products
ORDER BY ProductOrder
Этот запрос дает мне случайные продукты каждый раз, но не полностью соответствует моим критериям получения продуктов с более высоким рейтингом наверху по сравнению с продуктами с более низким рейтингом в большинстве случаев.