用户id相同,时间最早的sql怎么写

ccyingfu 2010-01-19 11:51:09
Oracle数据库
有一张表user
字段:key,userid,amendtime,status,pid,.....(还有其它字段)
表里有很多记录
查询
用户id相同,但修改时间最早,status=1,pid=12
的一组记录

表里有很多用户id,同时有很多修改时间。记录里都是一个用户id对应一个最早修改时间,没有id重复的情况

我sql很弱~达人帮下忙。100分奉上
...全文
456 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
不白吃饭 2010-01-19
  • 打赏
  • 举报
回复
over
还是第一次看见,路漫漫兮。。
tangren 2010-01-19
  • 打赏
  • 举报
回复
user为关键字,是不能用做表名的
tangren 2010-01-19
  • 打赏
  • 举报
回复
上一个少了条件
SELECT *
FROM (SELECT key,
userid,
row_number() over(PARTITION BY userid ORDER BY amendtime) rn,
amendtime,
status,
pid
FROM USER
WHERE status = 1 AND
pid = 12)
WHERE rn = 1;
tangren 2010-01-19
  • 打赏
  • 举报
回复
SELECT *
FROM (SELECT key,
userid,
row_number() over(PARTITION BY userid ORDER BY amendtime) rn,
amendtime,
status,
pid
FROM USER)
WHERE rn = 1;

zhangwonderful 2010-01-19
  • 打赏
  • 举报
回复
如果只需要两列话,可以参考如下语句:
select userid,min(amendtime) ealiest from user
where status=1 and pid=12
group by userid
KnowKjava 2010-01-19
  • 打赏
  • 举报
回复
amendtime
ccyingfu 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xinxin100198 的回复:]
select userid,min(amendtime) from user group by userid
[/Quote]
能写一个完整的吗?
alice鑫鑫 2010-01-19
  • 打赏
  • 举报
回复
select userid,min(amendtime) from user group by userid
ccyingfu 2010-01-19
  • 打赏
  • 举报
回复
不好意思,在查询的记录里,userid不能有相同的情况

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧