问题如下: 数据库中有一个表table 表中有四条固定的记录,ID=1 2 3 4 这四条记录不会删改也不会再增加别的记录 现在想按随机顺序读取这四条记录(不是随机读取一条,是按随机顺序读取四条) 比如第一次读取 2 4 1 3 刷新一下后读取的是 3 2 4 1 如此如此。。。。 我的想法是,利用随机函数产生1-4中的一个数字,读取出对应的ID记录,然后循环产生第二个1-4之间的数字,如果对应的ID已经被读取,就再重新随机生成一次。 但是老感觉这样的算法不是稳定的,万一运气不好生成了一万次也生成不出某一个数字,那程序岂不就没法运行了? 寻求其他方案
说实话,还是没看明白这两句 SQL 的原理。 newid() 和 Rnd(id) 的效果是什么? Rnd(id) 是指将 id 随机显示,也就是不按照 ASC 也不按照 DESC ? MS SQL 帮助文档中 要学习的东西太多了。