sql – 从表中选择行的最大日期的信息
发布时间:2020-12-12 07:03:43 所属栏目:MsSql教程 来源:网络整理
导读:我的桌子看起来像这样: group date cash checks 1 1/1/2013 0 0 2 1/1/2013 0 800 1 1/3/2013 0 700 3 1/1/2013 0 600 1 1/2/2013 0 400 3 1/5/2013 0 200 – 不需要现金只是表明该表有更多的信息 我想要获取每个唯一的组,其中date是max,而check大于0.因此
我的桌子看起来像这样:
group date cash checks 1 1/1/2013 0 0 2 1/1/2013 0 800 1 1/3/2013 0 700 3 1/1/2013 0 600 1 1/2/2013 0 400 3 1/5/2013 0 200 – 不需要现金只是表明该表有更多的信息 我想要获取每个唯一的组,其中date是max,而check大于0.因此返回结果如下所示: group date checks 2 1/1/2013 800 1 1/3/2013 700 3 1/5/2013 200 尝试代码: SELECT group,MAX(date),checks FROM table WHERE checks>0 GROUP BY group ORDER BY group DESC 问题是,它给我所有的日期和检查,而不是最大日期行。 使用ms sql server 2005 解决方法SELECT group,MAX(date) as max_date FROM table WHERE checks>0 GROUP BY group 这样做可以获得最大的日期。将它加入到数据中以获取其他列: Select group,max_date,check from table t inner join (SELECT group,MAX(date) as max_date FROM table WHERE checks>0 GROUP BY group)a on a.group = t.group and a.max_date = date 内连接功能作为过滤器,仅获取最大记录。 FYI,您的列名可怕,请勿对列(组,日期,表)使用保留字。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |