Я знаком с основными запросами в SQL, но мне нужно применить фильтр, и я не совсем уверен, как это сделать.
У меня есть этот запрос:
var query = (from solvedPuzzle in db.SolvedPuzzles
where solvedPuzzle.UserID == user.ID
select solvedPuzzle);
И я хочу изменить запрос или отфильтровать результаты, как этот псевдокод:
for each pair (a,b) of results
if a.PuzzleID == b.PuzzleID
filter out a.NumberOfMoves > b.NumberOfMoves ? a : b
Если это не так просто, я приведу примерные результаты фильтра
Table SolvedPuzzles:
ID UserID PuzzleID NumberOfMoves
1 2 1 5
2 2 1 6 //Will be filtered out
3 2 2 7
4 3 1 8 //Will be filtered out
5 3 1 6
6 4 2 5
7 5 2 4
То есть эти два будут отфильтрованы из результатов, потому что они принадлежат одному и тому же пользователю и одной и той же головоломке, но с большим количеством ходов.