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怎么取到呢?
展开
 我来答
匿名用户
推荐于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的,就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rjqhyb12345
2015-10-30 · TA获得超过257个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:67.3万
展开全部
select * from 表 where 列B in (select min(列B) from 表 group by 列A)
追问
如果甲的第一次6月10日,刚好和其它人的某一次(非第一次)时间相同,则其它人也会被取出来的
追答
恩 是的 这时可以设置一个唯一主键 修改下select语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式