我有一個充滿了運動結果的數據庫。我想根據以前的結果的某些特徵選擇一些結果。這裏的數據庫結構:如何根據其他行中的值選擇行
CREATE TABLE `results` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`date` DATETIME NOT NULL ,
`home_score` INT NOT NULL ,
`away_score` INT NOT NULL ,
`home_team_id` INT NOT NULL ,
`away_team_id` INT NOT NULL
);
所以我想要做的查詢,如「找到其中一隊贏得了他們的前兩個主場比賽的結果」 - 按日期,即針對特定home_team_id順序由然後選擇每行在前兩行的home_score> away_score。
我知道這有點複雜,所以任何關於如何解決這個問題的指針都將受到大力讚賞。我目前在PHP中有一個版本(選擇所有行,然後執行這種類型的查詢),但是性能很慢並且使用了大量內存(數據庫中有超過20,000行)。
編輯:感謝幾個整潔的答案。不過,理想情況下,我希望能夠在所有欄目上進行查詢,而不僅僅是看W,D或L.一個更復雜的例子是「找到所有的結果,其中主隊贏得了他們之前五個家中的每一個比賽至少有兩個進球,而客隊至少已經輸掉了一個進球。「