通常情况下我们在开发项目中一般会用到 随机推荐 或者 购买类 需求,一般情况下很多程序猿都是 正序 或者 倒叙 获取 然后随机返回给前端,这种方式有 很多缺陷。
解决方案
下面我们分享一种直接从 mysql 数据库中随机获取数据的一种方式。
编写最大id查询sql
SELECT MAX(id) FROM `user`
编写join
INNER JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `bl_user` ) ) ) AS id ) AS u2 ON u.id >=`u2`.`id`
编写要获取的随机条数
LIMIT 50
完整实例
SELECT
*
FROM
`user` `u`
INNER JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `user` ) ) ) AS id ) AS u2 ON u.id >= `u2`.`id`
LIMIT 50
以上sql主要实现了完全从随机位置取 指定条数 的记录来实现 随机 获取 mysql 表数据,有兴趣的同学可以测试一下.