对于SQL Server:
表名称= Phones 列= id,mobileno,状态,userid,createdon 每个用户可以有多个号码,我想为每个用户找到最早的活动电话号码。Status=1活跃。
例如:
user1= id=1, mobileno=123, status=1,userid=1,createdon=2019/12/20
user1= id=2, mobileno=1234, status=1,userid=1,createdon=2019/12/19
user1= id=3, mobileno=12348, status=0,userid=1,createdon=2019/12/17
user2= id=4, mobileno=12345, status=1,userid=2,createdon=2019/12/15
user2= id=5, mobileno=123456, status=1,userid=2,createdon=2019/12/10
结果必须是
```js
user1= id=1, mobileno=1234
user2= id=2, mobileno=123456
(id unique and mobileno =最旧的活动号码)
谢谢。
一个简单而有效的方法是相关子查询:
select t.*
from t
where t.createdon = (select min(t2.createdon)
from t t2
where t2.userid = t.userid
);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。