Упорядочивание базы данных SQLite3 от наибольшего к наименьшему - PullRequest
0 голосов
/ 30 мая 2020
** 1000 это
[('635', '673990922945560599'), ('400', '317652126471815168'), ('200', '323669516489850882'), ('15000', '539305505445642250'), ('1260', '448573840893804614'), ('1000', '531664615755612161'), ('100', '419300570235666432'), ('100', '412106756349624331'), ('100', '408674114958524417'), ('100', '358517557772156929')]

1 Ответ

1 голос
/ 30 мая 2020

Похоже, что тип данных bal - TEXT, поэтому он упорядочен в алфавитном порядке. Вы должны преобразовать bal в целое число, добавив 0 или явно:

SELECT bal, user_id 
FROM moneyTable 
WHERE guild_id = {ctx.guild.id} 
ORDER BY bal + 0 DESC LIMIT 10

или:

SELECT bal, user_id 
FROM moneyTable 
WHERE guild_id = {ctx.guild.id} 
ORDER BY CAST(bal AS INTEGER) DESC LIMIT 10
...