laravel高性能从mysql数据库中随机获取n条数据
laravel如何从mysql数据库高性能获取随机n块数据? order,从数据库中随机抽取100个用户;这样我们就必须从数据库中随机检索数据。 ? 配合使用,可用于从多行结果中选择随机部分。
SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100;
那么在laravel中使用自然SQL也非常容易,如下图:
$info = DB::select('SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100');
2。使用原始表达式从数据中随机获取数据
我们知道laravel的所有原始表达式,我们可以使用 DB::raw('RAND()')
从数据库中获取随机数据。同时,还可以使用orderByRaw('RAND()')
从数据库中随机检索数据,与DB::raw('RAND()'效果相同) )
$info=self::where('dealing','<>','')
->orderBy(DB::raw('RAND()'))
->take(5)
->get();
三.使用laravel的inRandomOrder方法随机取数据
在laravel中使用inRandomOrder
会对数据结果进行随机排序,达到从数据库随机取数据的效果:
$info = DB::table('users')
->inRandomOrder()
->take(5)
->get();
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。