【发布时间】:2011-10-10 03:24:31
【问题描述】:
我正在尝试创建一个查询,该查询将改变我网站上每个用户每次执行的结果。目标是使用 SQL Server 2008 数据库技术实现这一目标。
例如,如果我有一个包含三行数据的表:
我正在尝试找到一种方法,通过名称升序然后移动/旋转结果来选择此数据顺序。
ID Name
1 Apple
2 Orange
3 Banana
用户 1 加载页面并看到
Apple
Banana
Orange
用户 1 重新加载同一页面,然后看到
Banana
Orange
Apple
用户 1 重新加载同一页面,然后看到
Orange
Apple
Banana
用户 2 等具有完全相同的体验,以相同的顺序旋转/移动结果。
我可以创建和存储任何必要的值,例如名字或姓氏或 ID。
是否有一个简单优雅的解决方案(查询、存储过程、函数等)可以在 SQL Server 级别完成这项任务?
原因是让所有颜色都有机会显示在列表顶部,而不是按字母顺序从 A 到 Z。
【问题讨论】:
-
行数是固定的吗?基本排序是按字母顺序排列还是随机排列还是按 id 排列?
-
没有基于类别的数据更改,至少一个,也许上限是 20 行,但通常少很多,可能是三到五个结果。
标签: sql sql-server-2008 rotation shift