我有兩張表格,一張帶有一組投標,另一張帶有對投標進行投票的投票,這兩張投票都加入了唯一ID。LEFT JOIN上的MAX()值
提案開始時,提案表中有一個日期字段,投票有投票時的日期。當投票足夠時,該提案被標記爲「成功」。我想知道平均收到選票需要多少天。
我最初的方法是創建一個查詢,列出了通過左邊最近的一次投票每個提議加入:
SELECT proposals.pr_id, DATEDIFF(MAX(proposals_votes.`date`), proposals.`date`)
FROM proposals
LEFT JOIN proposals_votes ON proposals.pr_id = proposals_votes.pr_id
WHERE STATUS = 'success'
的問題是,這將返回只有一行,這是一個讓我吃驚。我原以爲MAX是在LEFT JOIN表上完成的,而不是在結果表上完成的。
在LEFT JOIN中有沒有辦法做到這一點,還是我需要做一個子查詢?
你忘了'GROUP BY proposals.pr_id'。 – Barmar