【发布时间】:2023-03-30 17:09:01
【问题描述】:
我正在尝试让数据库根据他们拥有的用户数量来组织用户排名,他们拥有的点数越多,他们的排名就越高
cursor.execute("SELECT ID, Players, Points, FIND_IN_SET( Points, (SELECT GROUP_CONCAT( Points ORDER BY Points DESC ) FROM main)) AS Ranks FROM main")
这是一个很好的例子
id Players score rank
1 Ida 100 2
2 Boo 58 5
3 Lala 88 4
4 Bash 102 1
5 Assem 99 3
【问题讨论】:
-
(1) 提供样本数据和期望的结果。 (2) 解释逻辑。
-
FIND_IN_SET() 是 SQLite 不支持的 MySql 函数。 GROUP_CONCAT() 也不支持 SQLite 中的 ORDER BY 子句。