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

如何从learned-moves表筛选同时学会两个指定招式的宝可梦数据

实现方案

你当前的语句用了OR所以只会匹配满足任意一个招式的记录,要筛选同时掌握两个指定招式的宝可梦,可以用以下两种常用方法:

方法1:分组聚合+HAVING过滤

这种方法逻辑更简洁,适合固定筛选2个及以上招式的场景:

SELECT `Pokemon`, `Version Group`
FROM `learned-moves`
WHERE `Version Group` = ? 
  AND `Move` IN (?, ?)
GROUP BY `Pokemon`, `Version Group`
HAVING COUNT(DISTINCT `Move`) = 2;

说明:如果需要返回该宝可梦在对应版本下的所有招式明细,可以把上面的查询作为子查询,和原表关联匹配Pokemon和Version Group字段即可。
注意:SQL中单引号是用来包裹字符串值的,不要用来标注表名、字段名这类标识符,你的表名和字段名包含连字符、空格这类特殊字符,需要用反引号包裹才不会触发语法错误。

方法2:表自连接

如果你需要直接返回两个招式的对应学习条件等明细信息,可以用自连接的方式:

SELECT lm1.*, lm2.*
FROM `learned-moves` lm1
JOIN `learned-moves` lm2
  ON lm1.`Pokemon` = lm2.`Pokemon` 
  AND lm1.`Version Group` = lm2.`Version Group`
WHERE lm1.`Version Group` = ?
  AND lm1.`Move` = ?
  AND lm2.`Move` = ?;

说明:这个查询会把同一只宝可梦、同一个版本组下两个招式的学习信息放在同一行返回,适合需要同时查看两个招式学习条件的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:06:03