MySQL的選擇最大勝利系列:SQL查詢
我有表,我在那裏存放user_matches,它的結果是:
n_match id_user id_score
1 55 1
1 66 0
這意味着,「id爲55勝匹配ID = 1到用戶id = 66'的用戶。
所以,我們有10個,100個,1000個匹配,在用戶輸或贏對手:
n_match id_user id_score
1 55 1 (win)
1 66 0
2 55 0 (lose)
2 77 1
3 55 1 (win)
3 77 0
4 55 1 (win)
4 77 0
5 55 1 (win)
5 77 0
確定。正如你所看到的,用戶贏3場比賽不失(贏系列賽) - 這就是我需要從我的查詢。
問題:我怎樣才能從這張桌子上獲得最長的系列賽冠軍?是否有可能沒有循環在SQL端或服務器端 - 只是從查詢?
Thx。
編輯:一個溶液I剛纔明白, - 讓所有的匹配,而像001010101111010101011串,然後將其分割成與分離器字符串數組 '0' - > [1,1,1,1111,。 ..],並採取最長的字符串長度。
但在這種情況下,我必須寫服務器端代碼= \這不好,但MB最快。
它的*方式*不太複雜,只需按照正確的順序查詢並在PHP中循環處理。要做到這一點(沒有,如你所請求的,在一個mysql函數中循環)本質上是手動創建一個沒有SQL循環的循環,它變得龐大笨重,不可能*維護,你不應該這樣做。 – Jason