You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过单条SQL查询关联两表获取最高最低气温及对应测量地点

原查询错误原因

  • 你同时给MIN(temperature)和MAX(temperature)设置了相同的别名temperature,字段命名冲突,数据库无法正确返回结果
  • 没有分组的情况下使用聚合函数会将所有观测数据合并为单行返回,返回的location_name是随机匹配的,和最高/最低气温没有对应关系

正确查询语句

直接用UNION ALL分别拼接最低温、最高温的查询结果,返回的两行数据刚好适配你的PHP输出逻辑,无需修改现有PHP代码:

(SELECT l.location_name, o.temperature
 FROM observation o
 INNER JOIN location l ON o.ref_location = l.location_id
 ORDER BY o.temperature ASC LIMIT 1)
UNION ALL
(SELECT l.location_name, o.temperature
 FROM observation o
 INNER JOIN location l ON o.ref_location = l.location_id
 ORDER BY o.temperature DESC LIMIT 1)

结果说明

查询会返回两行数据:第一行是最低气温及对应地点,第二行是最高气温及对应地点,每行都包含location_name和temperature两个字段,和你的PHP循环读取逻辑完全匹配。

内容的提问来源于stack exchange,提问作者McDreamyh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:54:02