有两个表:一个 (P) 包含产品列表,另一个 (H) 包含消费产品的历史记录。每种产品都可以食用 0 次或多次。我需要构建一个查询,该查询将返回 P 中的所有产品以及每种产品的消费次数,并按消费次数排序。这是我所做的:
SELECT P.ID, P.Name, H.Date, COUNT(H.P_ID) as Count
FROM P
LEFT JOIN H
ON P.ID=H.P_ID
ORDER BY Count DESC
这似乎仅在历史表包含数据时才有效,但如果不包含数据 - 结果不正确。我究竟做错了什么?