合併查詢我知道你可以使用連接語句組合多個表選擇,但是有辦法這兩個查詢合併成一個?在MySQL
SELECT Statistics.StatisticID
FROM Statistics
ORDER BY `SubmittedTime` DESC
LIMIT 0, 10
而這一個?
SELECT COUNT(Votes.StatisticID)
FROM Votes
WHERE Votes.StatisticID = ?
(絨毛去除)
目前,我已經取得了一些近作品。
SELECT Statistics.StatisticID, COUNT(Score.StatisticID) AS Votes
FROM `Statistics`
LEFT JOIN `Votes` AS `Score` ON `Statistics`.`StatisticID` = `Score`.`StatisticID`
ORDER BY `SubmittedTime` DESC
LIMIT 0, 10
Votes
表是一個簡單的StatID UserID joiner。在我的測試案例中,它包含3行,兩個與StatID 5 - 1與StatID 2.
我的查詢將工作,如果我添加一個WHERE子句,例如WHERE StatisticID = 5
並正確返回2票。但是,如果我刪除WHERE子句,我仍然得到一行返回和3票。
是否有可能將這些查詢組合或我將不得不運行第二個爲每個結果(顯然不理想的)?
不知道爲什麼,這讓-1 ... – Ross 2008-11-20 21:07:48