Well, I presume that for every win in the table, there is also a loss ... basically, a fair whack of the data in the table is duplicated. So I can get away with just looking at our_score, because all the scores in their_score will be the same (only in a different order).
SELECT interesting fields FROM results WHERE our_score=MAX(our_score)
will return the interesting fields for all the teams whose score was the highest. If "Highest Win" is relative to the score of the other team:
SELECT interesting fields FROM results WHERE our_score-their_score = MAX(our_score-their_score)
I think.
As for your streaks and such, those are properties of the teams, not the games (games don't have winning streaks, teams do). What you could do is stick on some fields in the teams table (whatever you call it); "current_winning_streak" and "current_losing_streak". Set them to zero.
If a team wins a game, bump their current_winning_streak up by one, and set their current_losing_streak to zero. Vice versa in the event of a loss, and I guess you'd want to zero both of them if they draw.
But you want to retain the longest winning/losing streak of each team. That's two more fields: longest_winning_streak, longest_losing_streak. Whenever you bump current_winning_streak, look to see if it's gone higher than longest_winning_streak. If it has, then this is their longest winning streak, so update longest_winning_streak. Similar for longest_losing_streak.
To find the team with the longest winning streak, SELECT team, longest_winning_streak WHERE longest_winning_streak=MAX(longest_winning_streak)