谁能帮我理解如何在 SQL Server 中使用 RAND() 函数?
我有一个场景,我想根据评级以随机顺序从产品表中获取随机产品。
另外,在这方面,我想优先考虑评级较高的产品,而不是评级较低的产品,以排在首位。
但并不是每次只有评分较高的产品才会排在首位;有时评级较低的产品应该放在首位。
截至目前,我是通过 完成的NEWID()
,它每次都给我随机排序,但它不考虑产品的排名。
表列:ProductID, ProductName, Rating
SELECT ROW_NUMBER() OVER(ORDER BY NEWID() ASC) AS ProductOrder, ProductID, Rating
FROM dbo.VIHC_Products
ORDER BY ProductOrder
此查询每次都会给我随机产品,但不能满足我的标准,即在大多数情况下获得较高评级产品而不是较低评级产品。