开发者社区> 问答> 正文

一个sql分组的问题

有如下数据

id date value1 value2
1 2015-01-01 100 200
1 2015-01-02 210 90
2 2015-01-02 110 220
2 2015-01-03 120 140
2 2015-01-04 50 50
3 2015-01-01 100 100

按照id分组,取日期最大的那条记录,并且获得value1 value2
结果

id date value1 value2
1 2015-01-02 210 90
2 2015-01-04 50 50
3 2015-01-01 100 100

请问怎么做

展开
收起
吴孟桥 2016-06-15 17:17:07 1641 0
1 条回答
写回答
取消 提交回答
  • select id, max([date]) as [date], (select max(value1 from table where [date] = max[date]) as value1, (select max(value2 from table where [date] = max[date]) as value2 from table

    2019-07-17 19:39:47
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载