我没有太多的SQL经验,所以如果这是一个简单的答案,请原谅我…
我正在做一个Python的个人项目,我正在使用sqlite3。我现在创建了一个这样的表:
CREATE TABLE IF NOT EXISTS table (id text, username text, score integer, UNIQUE(id,username))
,其中的想法是两个用户可以对相同的ID进行不同的评分,并且同一个用户可以对多个ID进行评分。
<表类>ID 用户名 得分 tbody><<tr>1 User1 5 1User2 7 1User3 10 2User1 6 2User2 2 表类>
使用条件聚合:
SELECT id,
MAX(CASE WHEN username = 'User1' THEN score END) ScoreUser1,
MAX(CASE WHEN username = 'User2' THEN score END) ScoreUser2
FROM tablename
WHERE username IN ('User1', 'User2')
GROUP BY id
HAVING COUNT(*) = 2;