gpt4 book ai didi

SQLite:从分组和排序结果中选择

转载 作者:行者123 更新时间:2023-12-02 11:53:57 24 4
gpt4 key购买 nike

我是 SQL(ite) 新手,所以如果有一个简单的答案,我很抱歉,我只是愚蠢地找到了正确的搜索词。

我有 2 个表:1 个用于用户信息,另一个用于用户获得的持有点。这是一个简单的一对多关系(用户可以多次获得积分)。

table1 包含“userID”和“用户名”...

表2包含“用户ID”和“金额”...

现在我想获得给定用户名的高分排名。为了获得高分,我做了:

SELECT Username, SUM(Amount) AS total FROM table2 JOIN table1 USING (userID) GROUP BY Username ORDER BY total DESC

如何选择单个用户名并从分组和排序结果中获取其位置?我不知道子选择对于我的目标来说会是什么样子。甚至可以在单个查询中实现吗?

最佳答案

如果不引用其他数据,就无法计算用户的位置。 SQLite 没有适合您的用户案例的排名功能,也没有可以作为可接受替代品的行号功能。

我想你能得到的最接近的结果是将这些数据放入一个具有递增 ID 的临时表中,但我认为你会在那里变得非常困惑。

最好在应用程序内处理此问题。获取所有用户并计算排名。根据需要缓存单个用户结果。

如果不了解有关应用程序/数据库的操作上下文的更多信息,就很难提供更具体的建议。

关于SQLite:从分组和排序结果中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com