查询每天的前20条数据,在线等,谢谢。
解决方案 »
- oracle建立dblink的问题
- win7下oracle安装出现的问题
- linux导出oracle下所有对象!
- ORACLE怎么做定时备份
- 关于oracle绑定变量性能的问题。
- 如何在oracle中查询服务器当前时间?
- oracle中“Intersect”,“Minus”求交集和差集的两个关键字应该怎么用?,麻烦请给出例子。谢谢各位高手。
- Delphi+oracle 的安装问题????急急急!!!
- oracle数据库loadjava出现以下问题,求大神帮助
- 有一个关于Oracle的问题,希望大家帮忙解决一下,谢谢
- OracleForm应用程序无线网络访问很慢!!!
- 帮忙看一个产生统计报表的算法
(select col1,col2,....,coln,dense_rank(partition by trunc(tran_date) order by tran_date) dr from table_name)
where dr<=20;
select * from table where 条件1 and rownum<=20
select col1,col2,col3 from (
select col1,col2,col3,row_number()over(partition by datecol order by 1) rn from tab
)
where rn<=20
试一试这个:select * from table where 条件1 and rownum<=20
表结构如下:
create table TAB_TOPICMP
(
VOTEID VARCHAR2(32) not null,--sessionid
MP VARCHAR2(100),--手机号
BRAND VARCHAR2(100),--品牌
TOPICID VARCHAR2(32) not null,
VOTETIME DATE,--提交时间(这个无效,不需要)
MEMO VARCHAR2(4000),--记录
DBTIME DATE--真实提交时间(按照这个来统计)
)其中每天都有记录,我想一次性全部查出来每天的前20条数据。
2L的我试了下,不行啊,报错。
(select VOTEID ,mp,BRAND,TOPICID ,MEMO ,DBTIME ,dense_rank(partition by trunc(DBTIME) order by tran_date) dr
from TAB_TOPICMP
)
where dr<=202楼和4楼都 可以
select tt.*
from (select t.*,
row_number()over(partition by trunc(DBTIME, 'dd') order by DBTIME desc) rn
from TAB_TOPICMP t) tt
where tt.rn <= 20
FROM (SELECT COL1,
COL2,
COL3,
ROW_NUMBER() OVER ORDER BY 1) RN
FROM TAB)
WHERE RN <= 20