首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL to LINQ简单查询?

SQL to LINQ简单查询?
EN

Stack Overflow用户
提问于 2010-07-24 21:14:38
回答 1查看 96关注 0票数 0

下面是一个sql服务器表,用于保存用户对足球比赛的预测。用户可以预测特定足球比赛的主场胜利、客场胜利或平局/平局。

我如何查询这个表才能找到前3个预测,前3个游戏必须是不同的gameId

无论是SQL还是LINQ解决方案都会更受欢迎

alt text http://preview.robson-brown.com/capture.png

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-24 21:39:44

我假设你想要最强的预测,即大多数人对结果达成一致的游戏。

代码语言:javascript
运行
复制
 var predictions = db.Predictions
                     .GroupBy( g => g.gameId )
                     .Select( g => new 
                      {
                            gameId = g.Key,
                            homeWin = g.Sum( h => h.homeWin ),
                            awayWin = g.Sum( a => a.awayWin ),
                            draw = g.Sum( d => d.draw )
                      })
                     .Select( g => new 
                      {
                            gameId = g.gameId,
                            prediction = g.homeWin > g.awayWin 
                                             ? (g.homeWin > draw 
                                                    ? 'homeWin'
                                                    : 'draw')
                                             : (g.awayWin > g.draw
                                                    ? 'awayWin'
                                                    : 'draw'),
                            strength = g.homeWin > g.awayWin 
                                             ? (g.homeWin > draw 
                                                    ? g.homeWin
                                                    : g.draw) 
                                             : (g.awayWin > g.draw 
                                                    ? g.awayWin 
                                                    : g.draw)
                      })
                     .OrderByDescending( g => g.strength )
                     .Take(3);

您也许能够组合这两个selects,但我认为这会损害代码的可读性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3325217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档