在网上有相关文章
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;
}
发表回复