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

如何使用SQL实现跨列关联唯一值在记录多出现时的匹配输出

实现方案

你要的两两宝可梦Power求和结果用自连接即可实现,具体逻辑如下:

  • 对dragon表做自关联,分别取别名a、b代表配对的两只宝可梦
  • 加入a.Pokemon < b.Pokemon的关联条件,既可以避免同一只宝可梦和自己配对,也能避免出现(皮卡丘,喷火龙)和(喷火龙,皮卡丘)这类重复的配对结果
  • 直接对两张关联表的Power字段求和即可得到配对总战力

参考SQL代码:

SELECT
  a.Pokemon AS Pokemon1,
  b.Pokemon AS Pokemon2,
  a.Power + b.Power AS TotalPower
FROM dragon a
INNER JOIN dragon b
  ON a.Pokemon < b.Pokemon
-- 如果需要按总战力排序可以加下面这行
ORDER BY TotalPower DESC;

如果你的Power字段存在空值,求和时可以用COALESCE函数做兼容:COALESCE(a.Power, 0) + COALESCE(b.Power, 0) AS TotalPower,避免空值导致求和结果异常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:39:00