, поэтому у меня есть такой запрос:
SELECT * FROM my_db.my_order where product_id = 395 order by id desc;
, и результат этой таблицы выглядит следующим образом
+----------+----------+----------+---------------------+------------+--------+
| order_id | buyer_Id | quantity | createdAt | product_id | status |
+----------+----------+----------+---------------------+------------+--------+
| 6232 | 89450 | 1 | 2020-05-06 17:44:41 | 395 | 1 |
| 6232 | 89450 | 1 | 2020-05-06 17:44:41 | 395 | 1 |
| 6232 | 23048 | 2 | 2020-05-06 17:44:41 | 395 | 1 |
| 6232 | 89464 | 1 | 2020-05-06 17:44:40 | 395 | 1 |
| 6232 | 89463 | 1 | 2020-05-06 17:44:40 | 395 | 1 |
| 6232 | 89463 | 2 | 2020-05-06 17:43:25 | 395 | 0 |
| 6232 | 89464 | 2 | 2020-05-06 17:43:19 | 395 | 0 |
+----------+----------+----------+---------------------+------------+--------+
, поэтому я хочу подсчитать общее количество для этого product_id, где статус = 1, поэтому я сделал этот запрос
SELECT
SUM(grouped_my_order_tbl.quantity)
FROM
(
SELECT
mo.order_seller_id AS order_seller_id,
mo.quantity AS quantity,
mo.status AS status,
mo.product_id AS product_id
FROM my_order mo
) grouped_my_order_tbl
WHERE
grouped_my_order_tbl.product_id = 395
AND grouped_my_order_tbl.order_seller_id = 6232
AND grouped_my_order_tbl.status = 1;
, и результат для подсчета 6 вместо 5
где моя ошибка?
ожидаемый результат : sum = 5
обновление: точная сумма должна равняться 5, потому что есть дубликаты Buyer_id и createdAt, поэтому система считывает данные дважды, вместо этого только 1 запись, а не 2 записи