@xxxfdd

Как подсчитать все мои элементы в sql?

У меня интрнет магазин и мне нужно когда я нажимаю на корзину чтобы выводило все товары но мне нужно чтобы выводило например не Яблоко, Яблоко , Яблоко , а Яблоко 3 шт вот код
if message.text == 'Посмотреть продажи!':
        if len(mas_user_id) > 0: можно не образать внимание
            con = sqlite3.connect("telebot00.db") присоеденение
            cur = con.cursor()
            count_back = 0
            order = 'Orders' это так таблица называеться

            back_result = cur.execute(f"""SELECT * FROM {order}""").fetchall() просто чтение данных из таблицы
            # Вывод результатов на экран
            c = 0
            for back_elem in back_result: проходим по данным 
               
                    count_back = count_back + 1
                    back = back + str(count_back) + ') '
                    back = back + str(back_elem[1])
                    back = back + ' @'
                    back = back + str(back_elem[2])
                    back = back + ', '
                    back = back + str(back_elem[4])

                    back = back + ': '
                    back = back + ', '
                    back = back + str(back_elem[3])
                    countere = Counter(back_elem[3].split())
                    print(countere)

                

                    back = back + ', '
                    back = back + str(back_elem[3])
            bot.send_message(message.from_user.id, back + '❗')
            back = ''

        else:
            bot.send_message(message.from_user.id, 'Пока-что продаж нету ')
  • Вопрос задан
  • 79 просмотров
Решения вопроса 2
Amoralny
@Amoralny
Python-разработчик
Как вариант - корзины можно хранить в одной таблице, например Orders, при этом храня id пользователя и номер продукта, который был добавлен, и желательно добавить primary key, чтобы удалять позиции, которые были удалены пользователем.

Будет что-то типа:
+---+---------+-------------+-------+
| id | user_id | product_id | count |  
+---+---------+-------------+-------+


После чего можно будет сделать так
SELECT count FROM Orders WHERE user_id = "user_id" AND product_id = "product_id ";

Тем самым ты получишь количество определённого товара.

Так можно будет удалять записи, например, если продукт был удалён
DELETE FROM Orders WHERE id = "id";
id - это primary key, но не ид пользователья!

Возможно, есть более простой способ, но я бы сделал так.
Ответ написан
@o5a
Если в этой таблице заказов товар повторяется и задача в том, чтобы суммировать итог по товару, то это может делать сам SQL.
Допустим, таблица orders с полями
"item" - товар
"quantity" - кол-во
"amount" - сумма по этой позиции
То запрос будет выглядеть примерно так
SELECT item, SUM(quantity), SUM(amount) FROM orders GROUP BY item

Он выведет суммарное кол-во и стоимость по каждому отдельному товару.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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