Я работаю над базой данных, которая содержит 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 мне нужно знать, сколько всего компаний предлагают этот продукт в тот день. ПРЕДЕЛ означает, что я вижу только первые несколько ...
Я попытался изменить предложение SELECT на SELECT COUNT (a.id) или SELECT COUNT (DISTINCT (a.id)), но ни один из них, похоже, не дает мне того, что я хочу. Я попытался удалить GROUP BY и ORDER BY в моем запросе счета, но это тоже не сработало. Есть идеи?