sql取随机结果集

应用场景:

  某日,接产品姐姐需求,网站搜索页在搜索特定的内容时候,会现实搜索不到结果!如衣服网站,搜索鞋子等。为了不直接呈现一个赤裸裸的无此商品页面,so,需要在搜索商品件数小于3时,在下面随机推荐本站销量前50中的随机六款!

  本屌看产品姐姐温和的笑容,二话不说接下来了!不就是一个推荐吗!?可是在写sql的时候犯难了,销量前50好做

<?php
$sql = "SELECT sum(goods_num) AS goods_buy FROM  order_goods order by goods_buy DESC limit 50 ";

?>

   可是随机六款怎么写呢?

  在查询了一些资料之后,原来sql有随机函数rand(),可在结果集中随机结果。

==>

<?php
$sql = "SELECT a.goods_buy (SELECT sum(goods_num) AS goods_buy FROM  order_goods order by goods_buy DESC limit 50) order by rand() limit 6 ";

?>

说明:这只是sql 的取结果集的随机数,下面顺便写下sql server的

sql server的随机函数newID()和RAND()

SELECT * FROM Northwind..Orders ORDER BY NEWID()
--随机排序

SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID()
--从Orders表中随机取出10条记录

参考资料:http://blog.csdn.net/tangbow/article/details/7784718

  

原文地址:https://www.cnblogs.com/kafeijiu/p/3277708.html