我有一个充满信息的大型数据库,我使用下面的查询来选择我需要的信息。
$query = mysql_query("SELECT * FROM db WHERE model LIKE '%iphone 4%' AND model LIKE '%16GB%'") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {这给我留下了大约250个结果,我使用了一个while循环,并为每个结果显示一个tr。现在我想创建一个前十名。这是我想出来的:
$monthavg = ($row['price_shipping'] / $row['abo_time']) + ($row['price'] / $row['abo_time']) + $row['abo_price'];所以现在我可以回应$monthavg,这是一个获得前十名的好方法。我更想做的是只显示$monthavg最低的10行tr。但我已经在屏幕上回放了一张桌子。
我的问题是:我可以创建我的数据库的前10个结果,然后只回显这10个结果吗?
发布于 2011-12-09 06:44:09
您已经有了答案,只需将计算作为列重新执行查询,然后按该列排序,并将其限制为前10个结果
SELECT *, (price_shipping / abo_time + price / abo_time + abo_price) AS month_avg
FROM db WHERE model LIKE '%iphone 4%' AND model LIKE '%16GB%'
ORDER BY month_avg ASC LIMIT 10https://stackoverflow.com/questions/8438582
复制相似问题