SQL语句,第一次去了哪里
假设有表如下列A列B列C甲6月10日A甲6月20日B乙7月1日C乙10月2日A表示某某人在某一时间在某个地方现在要取出某某人第一次是什么时间去了哪个地,以上列来看,结果就...
假设有表如下
列A 列B 列C
甲 6月10日 A
甲 6月20日 B
乙 7月1日 C
乙 10月2日 A
表示某某人在某一时间在某个地方
现在要取出某某人第一次是什么时间去了哪个地,以上列来看,结果就是
甲 6月10日 A
乙 7月1日 C
不知这样的语句该怎么写呢
select 列A,min(列B) from 表 group by 列A
这样只能取到第一次是什么时间,列C怎么取到呢? 展开
列A 列B 列C
甲 6月10日 A
甲 6月20日 B
乙 7月1日 C
乙 10月2日 A
表示某某人在某一时间在某个地方
现在要取出某某人第一次是什么时间去了哪个地,以上列来看,结果就是
甲 6月10日 A
乙 7月1日 C
不知这样的语句该怎么写呢
select 列A,min(列B) from 表 group by 列A
这样只能取到第一次是什么时间,列C怎么取到呢? 展开
推荐于2016-10-14
展开全部
使用
ROW_NUMBER() OVER(partition by 列A order by 列B ) as xh 增加一个序号字段,先按照列A分组,再按列B排序
select 列A,列B,列c , ROW_NUMBER() OVER(partition by 列A order by 列B ) as xh from 表
结果如下
甲 6月10日 A 1
甲 6月20日 B 2
乙 7月1日 C 1
乙 10月2日 A 2
这样就再来个嵌套查询,只数最后那个序号为1的,就可以了。
ROW_NUMBER() OVER(partition by 列A order by 列B ) as xh 增加一个序号字段,先按照列A分组,再按列B排序
select 列A,列B,列c , ROW_NUMBER() OVER(partition by 列A order by 列B ) as xh from 表
结果如下
甲 6月10日 A 1
甲 6月20日 B 2
乙 7月1日 C 1
乙 10月2日 A 2
这样就再来个嵌套查询,只数最后那个序号为1的,就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询