【发布时间】:2023-03-17 11:29:01
【问题描述】:
我有一个看起来像示例的 Sqlite DB 表(测试):
User Score
用户看起来像用户1,用户2...用户20
分数是一个整数。
例子:
User1 204
User2 5555
User6 102
etc.
如何为每个按分数排序的现有用户选择 3 个最高值?例如:
User1 4344
User1 4000
User1 2330
User2 2300
User2 1000
User2 300
User3 555
User3 100
User3 10
User4 2033
...
这给了我所有用户中的前 3 名。
SELECT user, score FROM test ORDER BY score DESC limit 3
这给了我所有用户,但只有一个最高价值。
SELECT user, score FROM test GROUP BY user ORDER BY score DESC
到目前为止,我发现的唯一且唯一的解决方案是将所有用户添加到列表中并使用循环(我使用 Python)。每次分析一个用户。 但我很好奇是否可以在没有循环且仅通过 Sqlite 的情况下做到这一点?
【问题讨论】:
标签: sqlite