как правильно считать mysql версия 5.8 - PullRequest
0 голосов
/ 08 мая 2020

, поэтому у меня есть такой запрос:

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 записи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...