【发布时间】:2018-08-27 14:07:58
【问题描述】:
在同一查询中MySql 可以计算行数并只获取第一行吗?
现在我使用这个代码(我不知道是否正确):
$query1 = "
SELECT magni
FROM earthquakes
WHERE (milli BETWEEN '$data_dal' AND '$data_al')
AND (magni BETWEEN '$magn_min' AND '$magn_max')
AND (ipoc BETWEEN '$ipo_min' AND '$ipo_max')
AND (lati BETWEEN '$lat_inf' AND '$lat_sup')
AND (longi BETWEEN '$lng_sin' AND '$lng_des')
ORDER BY magni DESC
LIMIT 1";
$query2 = "
SELECT COUNT(*)
FROM earthquakes
WHERE (milli BETWEEN '$data_dal' AND '$data_al')
AND (magni BETWEEN '$magn_min' AND '$magn_max')
AND (ipoc BETWEEN '$ipo_min' AND '$ipo_max')
AND (lati BETWEEN '$lat_inf' AND '$lat_sup')
AND ((longi BETWEEN '$lng_sin' AND 180)
OR (longi BETWEEN -180 AND '$lng_des')
)";
$result1 = mysqli_query($con,$query1);
$result2 = mysqli_query($con,$query2);
$array_statistiche = array($result2,$result1); //numero eventi sismici, magniudo più alta
mysqli_free_result($array_statistiche);
$array_finale= $array_statistiche;
$array_terremoti= json_encode($array_finale); // return value of numero terremoti e array terremoti
mysqli_close($con); // close connection with database
非常感谢,对不起我的英语!
【问题讨论】:
-
您需要在 MySQL 中对此进行两个单独的查询,至少在 8+ 之前的版本中。但是,您可以在 select 子句中编写计数查询。
标签: php mysql database performance mysqli