Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql创建前10名_Php_Mysql_Sorting - Fatal编程技术网

Php Mysql创建前10名

Php Mysql创建前10名,php,mysql,sorting,Php,Mysql,Sorting,我有一个很大的数据库,里面充满了信息,我使用下面的查询来选择我需要的信息 $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]。现在我想创建一个前十

我有一个很大的数据库,里面充满了信息,我使用下面的查询来选择我需要的信息

$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,这是一个获得前十名的好方法。我更愿意做的是显示10行[tr],其中最低$monthavg。但我已经在屏幕上显示了一张桌子


我的问题:我可以创建数据库的前10个结果并仅回显这10个结果吗?

您已经有了答案,只需将计算作为列重新进行查询,然后按该列排序并将其限制为前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

谢谢我不知道我能这样做:-)