我有大量数据库,我使用以下查询来选择我需要的信息。
$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个结果吗?
答案 0 :(得分:3)
您已经有了答案,只需将您的计算作为列重做查询,然后按该列排序并将其限制为前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 10