我正在开发一个包含 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,但这也不起作用。有任何想法吗?