Можно ли запрос из SQL объединить в одно сообщение

Написал запрос SQL что бы бот из бд выдавал мне 10 строк с наибольшим значением столбца.

c.execute('SELECT id_a FROM users ORDER BY value_a DESC')
    results = c.fetchmany(10)
    for row in results:
        id_a = str(row[0])
        await message.answer(f'{id_a}')

Строки то он выдает но в разных сообщения, а мне нужно что бы выдавал сразу все в одно.

Не подскажите как это воплотить?


Ответы (1 шт):

Автор решения: augustoff7

Чтобы вывести результаты запроса в одном сообщении, вам нужно собрать все результаты в список, а затем вывести этот список через join. Примерно так:

c.execute('SELECT id_a FROM users ORDER BY value_a DESC')
results = c.fetchmany(10)
id_list = []
for row in results:
    id_a = str(row[0])
    id_list.append(id_a)
await message.answer(', '.join(id_list))
→ Ссылка