Я работаю над базой данных, которая содержит 3 таблицы:
- Список компаний
- Таблица продуктов, которые они продают
- Таблица цен, которые они предлагали на каждую дату
Я делаю такой запрос в своем php, чтобы создать список компаний, предлагающих самые низкие цены на определенный тип продукта в определенную дату.
SELECT
a.name AS company,
c.id,
MIN(c.price) AS apy
FROM `companies` a
JOIN `company_products` b ON b.company_id = a.id
JOIN `product_prices` c ON c.product_id = b.id
WHERE
b.type = "%s"
AND c.date = "%s"
GROUP BY a.id
ORDER BY c.price ASC
LIMIT %d, %d
Это дает мне необходимые данные, но для реализации пейджера на PHP мне нужно знать, сколько всего компаний, предлагающих этот продукт в этот день, существует. LIMIT означает, что я вижу только первые несколько...
Я попытался изменить предложение SELECT на SELECT COUNT(a.id) или SELECT COUNT(DISTINCT(a.id)) , но ни один из них не дает мне того, что я хочу. Я попытался удалить GROUP BY и ORDER BY в моем запросе на подсчет, но это тоже не сработало. Есть идеи?