让select查询结果随机排


前段时间客户提出了一个需求,就是想让查询的结果随机排序一下。查询了很多东西说的很是不明白,最后解决了问题。方案如下:

  只是在ORDER BY 后面加上一些东西。

   注:也许只适用与Access哦,这个只在Access环境中测试通过。  

   "SELECT * FROM tableName ORDER BY right(cstr(rnd(-int(rnd(-timer())*100+numID)))*1000*Now(),2)"

   关键是后面的order by 子句,中间的numID必须是数据库里面已经存在的字段,加上Now()是为了随机结果更有变化性。  

  至于在SqlServer中和下面提出的一样使用NewId()函数既可

前段时间客户提出了一个需求,就是想让查询的结果随机排序一下。查询了很多东西说的很是不明白,最后解决了问题。方案如下:

  只是在ORDER BY 后面加上一些东西。

   注:也许只适用与Access哦,这个只在Access环境中测试通过。  

   "SELECT * FROM tableName ORDER BY right(cstr(rnd(-int(rnd(-timer())*100+numID)))*1000*Now(),2)"

   关键是后面的order by 子句,中间的numID必须是数据库里面已经存在的字段,加上Now()是为了随机结果更有变化性。  

  至于在SqlServer中和下面提出的一样使用NewId()函数既可


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3