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

如何在SQLite3中查询用户共同ID并分列展示对应得分?

解决方案

针对你的需求,这里提供两种适合SQLite3的查询方法:

方法一:自连接查询

通过将表与自身关联,匹配同一ID下两个用户的得分:

SELECT t1.id AS "ID",
       t1.score AS "Score User1",
       t2.score AS "Score User2"
FROM your_table t1
JOIN your_table t2 ON t1.id = t2.id
WHERE t1.username = 'User1'
  AND t2.username = 'User2';

说明:

  • 原表名table是SQL关键字,实际使用时建议改为scores这类合法名称,避免语法错误;如果一定要用table,需要用双引号括起来写成"table"
  • t1和t2是表的两个别名,分别对应User1和User2的记录,通过ID关联确保是共同打分的ID

方法二:条件聚合查询

适合需要扩展多个用户的场景,通过分组和条件判断提取得分:

SELECT id AS "ID",
       MAX(CASE WHEN username = 'User1' THEN score END) AS "Score User1",
       MAX(CASE WHEN username = 'User2' THEN score END) AS "Score User2"
FROM your_table
WHERE username IN ('User1', 'User2')
GROUP BY id
HAVING COUNT(DISTINCT username) = 2;

说明:

  • WHERE先筛选出指定用户的记录,减少计算量
  • CASE WHEN针对每个用户提取对应得分,MAX是利用表的唯一约束(每个ID对每个用户仅一条记录)确保取到正确值
  • HAVING子句确保分组后的ID同时存在两个用户的打分,即共同ID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:24:30