@Timyr289437

Как получить последнею запись из SQLite?

У меня вот тут код выводит Тимур):140Тимур):155Тимур):400 но мне надо просто вот так Тимур):400 последний элемент
простыми словами помогите подобрать алгоритм вот мой код
back_result = cur.execute("SELECT name, user_name, prodect, phone, price_t, COUNT(*) quantity FROM orders GROUP BY name, user_name, prodect, phone, price_t").fetchall()
for name, user_name, prodect, phone, price_t,  quantity in back_result:
    if name not in mas:
        n = 0
        price = price + '\n'

        back = back + a
        back = back + '\n'
        mas.append(name)
        back = back + (f"Имя: {name} user_name: {user_name}  Товар:")
        back = back + ' '
    if phone != None and phone not in mas_phone:
        mas_phone.append(phone)
        a = phone
    if price_t != None:
        n = n + int(price_t)
        price = price + (f"{name}:{str(n)}")
    back = back + f'{prodect} - {quantity}Шт, '
back = back + a
  • Вопрос задан
  • 305 просмотров
Пригласить эксперта
Ответы на вопрос 2
@o5a
Если цель - сгруппировать данные товаров по каждому пользователю, можно заносить их в словарь, а затем объединить через join. Пример
back_result = [
['ivan', 'ivan1', 'apple', '312', 3],
['ivan', 'ivan1', 'corn', '312', 5],
['ivan', 'ivan1', 'mac', '312', 1],
['ivan', 'ivan1', 'band', '312', 2],
['marc', 'marc22', 'pine', '6312', 23],
['marc', 'marc22', 'apple', '6312', 30],
]

from collections import defaultdict

user_products = defaultdict(list)
for name, user_name, prodect, phone, quantity in back_result:
    user_products[(name, user_name, phone)].append([prodect, quantity])

for user, products in user_products.items():
    print("Имя: {}, user_name: @{}, Телефон: {} ".format(*user) + ', '.join(f"{product} {quantity}шт" for product, quantity in products))

Результат:
Имя: ivan, user_name: @ivan1, Телефон: 312 apple 3шт, corn 5шт, mac 1шт, band 2шт
Имя: marc, user_name: @marc22, Телефон: 6312 pine 23шт, apple 30шт
Ответ написан
Комментировать
tumbler
@tumbler Куратор тега Python
бекенд-разработчик на python
В запросе к БД GROUP BY группирует по всем полям. Если вам разбивка по продуктам не нужна - уберите ее из SELECT и GROUP BY.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы