我希望在請求的日期間隔內輸出用戶及其總數wins
和losses
。當我在包含results
表中的記錄的日期範圍內運行下面的查詢時,一切正常。但是,如果用戶在results
表中沒有關於請求的日期間隔的任何記錄,則根本沒有用戶返回請求。我想要的是返回用戶記錄,即使用戶在results
表中沒有任何要求的日期間隔記錄。如果權限表沒有記錄,則左連接查詢不會返回左表記錄
我相信GROUP BY
使它的行爲,但我不知道如何配置查詢以我需要的方式工作。
SELECT
users.name,
users.division,
SUM(results.wins) as wins,
SUM(results.losses) as losses
FROM users LEFT JOIN results ON users.user_id = results.user_id
AND results.date BETWEEN {$startDate} AND {$endDate}
WHERE users.user_id = {$user_id} GROUP BY results.user_id;
你嘗試用'users.user_id'分組,因爲這應該是等價的? – Nanne 2014-12-03 11:44:09