我们有一个数据库,在100多个类别中有2,00,000个供应商,如果有人访问我们想要允许他们选择一个类别的网站,并且每页显示25个供应商,首先我们按VendorId保留订单,但它始终用于获得前25,但我们删除它,但现在在分页它有时重复供应商,有没有办法获得随机25供应商,并保持分页。
此致
答案 0 :(得分:0)
你可以随机化你的结果,但每当你点查询时,它都会创建新的随机列表,所以除非你随机化并保存你的代码和页面中的随机状态,否则它不能直接进行。 参考,SQL Query results pagination with random Order by in SQL Server 2008
答案 1 :(得分:0)
我认为如果每次都需要一个新的随机顺序,就不可能实现这个要求,需要有良好的性能,每个项目应该有相同的机会被选中。我相信你应该重新设计你的应用程序的工作方式。
一种可能的解决方法是在表格中添加几列,并用随机数填充它们。当用户请求列表时,将随机列分配给他(例如,将其粘贴在URL中)。然后按该列执行订单并显示结果。随机切换4-5列以创建随机性的外观。每天更新一次列中的随机数。