У меня возникли проблемы с запросом MySQL для создания отчета о количестве продуктов с использованием определенной версии программного обеспечения.MySQL - выберите Distinct Count с несколькими таблицами
Вот мой запрос:
SELECT Count(ps.software_id) AS count, s.software_id FROM software s, product_software ps, products p WHERE s.software_id = ps.software_id AND p.product_id = ps.product_id AND p.product_name = 'ProdA' GROUP BY ps.software_id
Проблема, таблица product_software выглядит следующим образом:
product_software_id product_id software_id
1 1 1
2 2 1
3 3 1
4 1 2
5 2 2
6 1 3
7 4 3
8 5 3
Токовый выход из запроса:
count software_id
3 1
2 2
3 3
правильный (ожидаемый) выход должен быть:
count software_id
0 1
1 2
3 3
Я хочу включить в запрос самую последнюю (самую высокую версию product_software_id). (т. е. software_id и product_id должны быть уникальными).
Вы можете добавить данные примеры в вашей product_software таблицы, чтобы проиллюстрировать другие сценарии, например, тот, где желаемое количество должно быть 2? – WarrenT
@WarrenT отредактировано – Paul
Можете ли вы объяснить, почему ваши ожидаемые списки результатов count = 3 для software_id = 3, а для других count = 1. Каковы правила? – cha