【发布时间】:2011-06-11 06:24:39
【问题描述】:
我熟悉 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
也就是说,这两个将被从结果中过滤掉,因为它们是由同一个用户和同一个谜题,但有更多的移动。
【问题讨论】:
-
如果同一用户/拼图组合有 3 条记录,您希望看到什么?还是他们总是单身还是成对?
标签: sql linq-to-sql filter