【发布时间】:2023-03-20 16:29:01
【问题描述】:
我有两张表,Product 和 Benchmark 基准仅与一种产品相关联。每个产品每年只能有一个基准。
我想检索一组年份的每个产品的名称,并计算每个产品有多少个基准。
SELECT p.name,
p.id,
COUNT(p.id) AS nb_benchmark
FROM product p
INNER JOIN benchmark b0 ON b0.product_id = p.id
INNER JOIN benchmark b1 ON b1.product_id = p.id
WHERE p.owner = "MyCompany"
AND b0.year = 2011
AND b1.year = 2012
GROUP BY p.id
ORDER BY nb_trials DESC
但是计数是错误的,它太高了,它甚至给了我比数据库中实际更多的结果。我猜这是因为 JOIN,但我不知道如何构建查询。
【问题讨论】: