用户表yh
用户id
用户姓名留言表 mj
字段
作业id(主键)
用户编号
留言日期
留言用户(id)
留言内容
留言状态
留言类型
现在要将针对某个用户(根据留言用户区分)日期最大的一条留言的所有信息查出来,而且还要将该用户的姓名查出
用户id
用户姓名留言表 mj
字段
作业id(主键)
用户编号
留言日期
留言用户(id)
留言内容
留言状态
留言类型
现在要将针对某个用户(根据留言用户区分)日期最大的一条留言的所有信息查出来,而且还要将该用户的姓名查出
解决方案 »
- 如何在windows环境下使用数据泵方式备份oracle数据库?
- Oracle查询TOP N的问题
- 使用存储过程读取dom的问题,请指教了。
- 水晶报表的SQL表达式哪里错了,请大侠帮忙看看
- 两数据库同步,快照问题
- ORACLE 怎么样才能随电脑同启?
- 将sql server 的关联语句改成 ORACLE8.17的 关联语句(急急)
- 数据库恢复,急!!!
- 哪儿有sqlplus下载!请留个下载地址 !或者请mail给我 : [email protected] !
- 为什么我在oracle9i中创建不了新的用户呢?
- 求个时间段的SQL语句(oracle的)
- ORACLE插入数据number型时出现错误
(select * from mj where 留言日期=(select max(留言日期 ) from mj where 用户编号=:?) v where yh.用户id=v.用户编号;也可以用分析函数rank。
select a.用户姓名,b.*
from yh a,mj b,
(
select id,max(留言日期) as MaxDate
from mj
group by id
) c
where a.id=c.id and b.留言日期=c.MaxDate
留言内容 ,留言状态, 留言类型 ,
,
(select 用户姓名 from 用户表yh yh where yh.留言用户(id)= a.留言用户(id)) 用户姓名from (select 留言用户(id),留言内容 ,留言状态, 留言类型
row_number() over(partition by 留言用户(id) order by 留言日期 desc) rn
from 留言表 mj ) a
where rn = 1
select a.*, b.*
from 用户表yh a,
(select *
from (select *,
row_number() over(partition by 用户id order by 留言日期) rn
from mj)
where rn = 1) b
where a.用户id = b.用户id
and 留言日期 = (select max(留言日期) from mj where 留言用户(id) = 用户id)
2 120000112201002030007 120000112200911117727 2010/2/3 <CLOB> 4 1 2010/2/3 16:55:30 XXXXXXXX U 35923808
3 120000112201002030009 120000112200911117727 2010/2/3 <CLOB> 4 1 2010/2/3 16:56:15 XXXXXXXX U 35921792
4 120000112201002030010 120000112200911117727 2010/2/3 <CLOB> 4 1 2010/2/3 17:00:49 XXXXXXXX U 35924032
5 120000112201002030001 120000112200911117727 2010/2/3 super <CLOB> 4 1 2010/2/3 9:58:28 XXXXXXXX U 35926720
6 120000112201002030013 120000112200911117727 2010/2/3 super <CLOB> 4 0 2010/2/3 17:15:31 XXXXXXXX U 35922632
7 120000112201002030002 120000112200911117727 2010/2/3 super <CLOB> 4 1 2010/2/3 11:21:08 XXXXXXXX U 35926664
8 120000112201002030006 120000112200911117727 2010/2/3 super <CLOB> 4 1 2010/2/3 13:06:54 XXXXXXXX U 35918544
9 120000112201002030008 120000112200911117727 2010/2/3 <CLOB> 4 1 2010/2/3 16:55:45 XXXXXXXX U 35923584
10 120000112201002030011 120000112200911117727 2010/2/3 <CLOB> 4 1 2010/2/3 17:03:29 XXXXXXXX U 35921344
11 120000112201002030012 120000112200911117727 2010/2/3 <CLOB> 4 1 2010/2/3 17:06:49 XXXXXXXX U 35925488
这是我查出来的结果我只要最大的一条,我的语句是这样的。
select * from mjcblyb cb where cb.lyrq = (select max(m.lyrq) from mjcblyb m where m.rybh='120000112200911117727') and cb.rybh='120000112200911117727'