Задать вопрос
@newbie63

Как боту вывести топ 5 пользователей из sqlite3?

Как вывести из бд 5 пользователей с наибольшими числами. И бот при прописывании команды /top писал:
1. ник пользователя1: число пользователя1
2. ник пользователя2: число пользователя2
3. ник пользователя3: число пользователя3
4. ник пользователя4: число пользователя4
5. ник пользователя5: число пользователя5
Я написал код при котором бот отправляет 5 сообщений: ('ник пользователя1', число пользователя1); ('ник пользователя2', число пользователя2) и тд
@dp.message_handler(commands=['top'])
async def top(message: types.Message):
    conn = sqlite3.connect('db.db')
    cur = conn.cursor()
    result = cur.execute("SELECT first_name, money FROM users ORDER BY money DESC LIMIT 5")
    for i in result:
        print(i)
        await message.reply(f"{i}")

Как исправить
  • Вопрос задан
  • 476 просмотров
Подписаться 1 Средний 5 комментариев
Решения вопроса 1
@o5a
cur.execute("SELECT * FROM users ORDER BY money DESC LIMIT 5")
data = cur.fetchall()
text = '\n'.join(f'{row[1]}:   {row[5]} - монет' for row in data)
await message.reply(text)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@UberPool
Python/JS coder
Сравнить эти числа между собой,например
a = 1
b = 2
max(a, b)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы