繁体   English   中英

来自top200的mysql随机条目

[英]mysql random entries from the top200

有没有一种更好的方法可以从前200个最畅销的T恤衫(来自shop_tshirts的tshirt_sales)中返回随机条目,而该条目只能查询6个条目而不是200个?

$SQL = "SELECT * FROM shop_tshirts WHERE shop = 'nidieunimaitre' AND online='1' ORDER BY tshirt_sales DESC LIMIT 200";

$Result = mysql_query($SQL)
    or die('A error occured: ' . mysql_error());

$Rows = array();

while ($Row = mysql_fetch_assoc($Result))
    $Rows[] = $Row;

shuffle($Rows);

$i = 0;
foreach($Rows as $Data){
$i++;
    if($i >= 6) { break; }
}

尝试这个:

SELECT * 
FROM 
      (SELECT * 
       FROM shop_tshirts 
       WHERE shop = 'nidieunimaitre' AND online='1' 
       ORDER BY tshirt_sales DESC 
       LIMIT 200) as tableAlis
ORDER BY RAND() 
LIMIT 6;

返回前200个结果,后按rand订购,仅返回六个结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM