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

MySQL关联PAR和AT表查询AT最大最小C值时缺失字段问题求解

问题排查
  • 你的查询语句仅从PAR表取数,C字段存储在AT表中,未关联AT表自然无法获取C字段值,导致输出缺少C列
  • 部分数据库中||是字符串拼接运算符,并非逻辑或运算符,判断C为最大值或最小值请使用OR关键字,避免逻辑判断失效
正确查询语句

使用两表关联的方式即可同时拿到PAR表的T、U字段和AT表的C字段,拼接后符合要求的输出格式:

SELECT CONCAT(p.T, ' ', p.U, ' ', a.C) AS output
FROM PAR p
INNER JOIN AT a 
  ON p.A = a.A
WHERE a.C = (SELECT MIN(C) FROM AT) 
   OR a.C = (SELECT MAX(C) FROM AT);

如果需要兼容存在多条相同最大/最小C值的场景,可以使用窗口函数实现:

SELECT CONCAT(p.T, ' ', p.U, ' ', a.C) AS output
FROM PAR p
INNER JOIN (
    SELECT 
        A, C,
        RANK() OVER(ORDER BY C ASC) AS rk_min,
        RANK() OVER(ORDER BY C DESC) AS rk_max
    FROM AT
) a ON p.A = a.A
WHERE a.rk_min = 1 OR a.rk_max = 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:45:05