首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LINQ查找具有相应时间场的最大/分钟值

LINQ查找具有相应时间场的最大/分钟值
EN

Stack Overflow用户
提问于 2011-06-11 03:08:50
回答 2查看 1.1K关注 0票数 2

我有一个来自气象站的数据记录表,我正在从它查询结果到一个WPF ListBox

表的结构是:

  • date
  • time
  • temp
  • rain_today
  • humidity
  • etc

我有一个很好的查询:

代码语言:javascript
运行
复制
var q = from c in db.Apr11log
                group c by c.LogDate into g
                orderby g.Key
                select new
                {
                    LogDate = g.Key,
                    MaxTemp = g.Max(c => c.Temp),
                    MinTemp = g.Min(c => c.Temp),                                             
                    Rain = g.Max(c => c.Rain_today),
                };      

然而,我试图得到最大温度和最低温度的对应时间,即

代码语言:javascript
运行
复制
TimeMax = .....
TimeMin = .....

我已经搜索过,但是没有发现任何有用的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-11 03:19:58

代码语言:javascript
运行
复制
let maxTemp = c.Max(c=>c.Temp)
let minTemp = c.Min(c=>c.Temp)
select new {
    LogDate = g.Key,
    MaxTemp = maxTemp,
    MinTemp = minTemp,
    MaxTime = g.FirstOrDefault(c=>c.Temp = maxTemp).Time,
    MinTime = g.FirstOrDefault(c => c.Temp = minTemp).Time,
    Rain = g.Max(c => c.Rain_today),
       };      
票数 0
EN

Stack Overflow用户

发布于 2011-06-11 03:15:01

代码语言:javascript
运行
复制
var q = from c in db.Apr11log
        group c by c.LogDate into g
        orderby g.Key
        select new
        {
            LogDate = g.Key,
            MaxRow = g.OrderByDescending(c => c.Temp).Select(c => new { c.LogDate, c.Temp }).First(),
            MinRow = g.OrderBy(c => c.Temp).Select(c => new { c.LogDate, c.Temp }).First(),
            Rain = g.Max(c => c.Rain_today),
        };

代码语言:javascript
运行
复制
var q = from c in db.Apr11log
        group c by c.LogDate into g
        orderby g.Key
        let maxRow = g.OrderByDescending(c => c.Temp).First()
        let minRow = g.OrderBy(c => c.Temp).First()
        select new
        {
            LogDate = g.Key,
            MaxTemp = maxRow.Temp,
            MaxTempDate = maxRow.LogDate,
            MinTemp = minRow.Temp,
            MinTempDate = minRow.LogDate,
            Rain = g.Max(c => c.Rain_today),
        };
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6313813

复制
相关文章

相似问题

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