@webe
frontend

Как правильно посчитать кол-во строк в запросе?

Есть категория и под категория - это максимальный уровень вложенности. т.е. дерево только двух уровней.

Категории:
-Цвета
--Черный
--Красный


Товар (2щт.):
- Айфончик черный
- Айфончик красный

1) Некий Вася добавил случайно "Айфончик черный" в категорию "Цвета" , т.е. один и тот же товар сейчас в родителе и в дочке.
2) нам нужно посчитать сколько уникальных товаров лежит в категории "Цвета" , ответ должен быть: 2

Подскажите плиз как быть?
Запутался :(

у нас во второй колонке дубликаты.
как сделать что бы было без дубликатов во второй колонке?
Хотел сделать GROUP BY , но тогда у нас кол-во строк не считается, точней считается , но возвращает две строки вместо одной.

Vmk2GLX7.png

логика самого SQL запроса сейчас такая:
1) Мы понимаем что идет запрос по категории '1-po-svetu', мы ищем все товары в этой категории, далее мы ищем все дочернии категории и ищем товары во всех дочерних категориях

Vmk2GLX8.png
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
ivankomolin
@ivankomolin
Чтобы добиться уникальных товаров используйте:
GROUP BY product_id

А если все таки нужно получение количества товаров в указанной категории то так например:
SELECT 
    COUNT(*)
FROM 
    products_categories pc
INNER JOIN
    categories c ON c.id = pc.category_id AND c.parentId=1
GROUP BY 
    product_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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