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

查询Tom最高score游戏中唯一的posX与posY数据(多列去重+MAX值)

SQL查询需求:获取Tom的唯一posX和posY数据(对应最高score的游戏)

现有数据表结构及数据

Table GAMES

gameIdnamescore
1Tom452
2Tom453

Table GAME_DETAILS

gameDetailIdsgameIdposXposYtime
11-1-11665264019
21-101665264020
31-111665264021
410-11665264022
51001665264023
62-1-11665264024
72-101665264025
82-111665264026

查询需求

编写SQL查询,获取Tom的所有唯一posX和posY数据,且这些数据所属游戏的score为Tom的最高score值。

预期查询结果

gameDetailIdsgameIdposXposYtime
410-11665264022
51001665264023
62-1-11665264024
72-101665264025
82-111665264026

解决方案

以下是满足需求的SQL查询语句:

SELECT gd.*
FROM GAME_DETAILS gd
JOIN GAMES g ON gd.gameId = g.gameId
WHERE g.name = 'Tom'
AND (gd.posX, gd.posY) NOT IN (
    SELECT gd2.posX, gd2.posY
    FROM GAME_DETAILS gd2
    JOIN GAMES g2 ON gd2.gameId = g2.gameId
    WHERE g2.name = 'Tom'
    AND g2.score < (SELECT MAX(score) FROM GAMES WHERE name = 'Tom')
)
ORDER BY gd.gameDetailIds;

语句说明

  1. 子查询先获取Tom的最高score值;
  2. 排除那些在非最高score游戏中出现过的(posX, posY)组合;
  3. 最终保留的是仅在最高score游戏中出现,或在非最高score游戏中从未出现过的唯一(posX, posY)对应的所有详情记录。

内容的提问来源于stack exchange,提问作者Hữu Trí Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 03:45:38