笔记 · · 1412 阅读

mysql随机获取多条数据

mysql
mysql随机获取多条数据

在网上有相关文章

SELECT * FROM users WHERE userId >= ((SELECT MAX(userId) FROM users)-(SELECT MIN(userId) FROM users)) * RAND() + (SELECT MIN(userId) FROM users)  LIMIT 1

因为项目需要取出的数据是2张表

SELECT oc.product_id,oc.price,oc.image,ocd.`name` FROM oc_product oc LEFT JOIN oc_product_description ocd ON oc.product_id = ocd.product_id WHERE oc.product_id >= ((SELECT MAX(product_id) FROM oc_product)-(SELECT MIN(product_id) FROM oc_product)) * RAND() + (SELECT MIN(product_id) FROM oc_product) LIMIT 6

最终

    /**

 * @Author      muyuan

 * @DateTime    2017-08-07

 * @copyright   [copyright]

 * @license     [license]

 * @version     [version]

 * @description [随机获取产品表数据]

 * @return      [type]        [description]

 */

public function get_rand_product($num)

{

    $query = $this->db->query("SELECT oc.product_id,oc.price,oc.image,ocd.`name` FROM " . DB_PREFIX . "product oc LEFT JOIN " . DB_PREFIX . "product_description ocd ON oc.product_id = ocd.product_id WHERE oc.product_id >= ((SELECT MAX(product_id) FROM " . DB_PREFIX . "product)-(SELECT MIN(product_id) FROM " . DB_PREFIX . "product)) * RAND() + (SELECT MIN(product_id) FROM " . DB_PREFIX . "product) LIMIT $num");

    return $query->rows;

}
0 评论

评论

还没有评论,来说两句吧