表结构如下
message 表
id(varchar2) receivetime(date) projectid(varchar2)
1 2009-1-1 1
2 2009-1-2 1
3 2009-1-1 2
4 2009-1-3 2现在想根据projectId分组,取出每个projectId里面receivtime的最大时间,并且返回这个表的所有字段,
例如根据以上要求,上面的结果为:
id(varchar2) receivetime(date) projectid(varchar2)
2 2009-1-2 1
4 2009-1-3 2
怎么弄呀,急急急
message 表
id(varchar2) receivetime(date) projectid(varchar2)
1 2009-1-1 1
2 2009-1-2 1
3 2009-1-1 2
4 2009-1-3 2现在想根据projectId分组,取出每个projectId里面receivtime的最大时间,并且返回这个表的所有字段,
例如根据以上要求,上面的结果为:
id(varchar2) receivetime(date) projectid(varchar2)
2 2009-1-2 1
4 2009-1-3 2
怎么弄呀,急急急
解决方案 »
- 运行这个的时候报值过多是什么意思呢
- oracle10g中给表设置外键时,老报错
- like后如何跟substr
- 配置Oracle AS服务后服务不能启动。
- ORACLE存储过程
- oracle10 安装成功后怎么没有Enterprise Manager Configuration Assistant
- 求助各位高手一个关于vc调用oracle存储过程的问题!
- 各位大侠,orcale里面时间差怎么表示?0.003表示是5分钟?是怎么计算的
- 奇怪的问题?
- 在系统window XP下安装oracle 8.1.6出现的问题,急急!!!!
- 如何把long数据类型转化成char类型
- 求助!能把一个字段内容分解的函数?
where not exists (
select receivetime from message t2 where t1.projectid = t2.projectid and t2.receivetime > t1.receivetime);
FROM
MESSAGE
WHERE (receivetime,projectid) IN
(
SELECT MAX(receivetime) MAXTIME,projectId
from message
group by projectId
);
试试可以不
请把你的描述再清晰化点
FROM
MESSAGE
WHERE ID =
(
SELECT MAX(ID),MAX(receivetime) ,projectid
from MESSAGE
group by projectid,receivetime
);