Sql 如何在Oracle RDS中获取表中的行数
我有一张桌子如下Sql 如何在Oracle RDS中获取表中的行数,sql,oracle,Sql,Oracle,我有一张桌子如下 -------------------------------------------------------------- TRANS_TYPE_CD | Member_ID | POINT_ACCOUNT_TYPE | TRANS_DTM -------------------------------------------------------------- Debit | 1702 | 10 | 2018-1
--------------------------------------------------------------
TRANS_TYPE_CD | Member_ID | POINT_ACCOUNT_TYPE | TRANS_DTM
--------------------------------------------------------------
Debit | 1702 | 10 | 2018-12-04
Credit | 1702 | 10 | 2018-12-04
Debit | 1702 | 10 | 2018-12-04
Debit | 1702 | 10 | 2018-12-04
Debit | 1702 | 10 | 2018-12-04
------------------------------------------------------------
现在,我想从这个表中选择行数数据。
为此,我正在使用此SQL
select rowNumber, trans_dtm, lower(trans_type_cd) as trans_type_cd
from (
select pttrans.trans_dtm, pttrans.trans_type_cd
, row_number() over (partition by trans_dtm order by trans_dtm desc ) as rowNumber
from (
select * from point_trans
where member_id = 1702
and point_account_type = 10
and (point_type_cd is null or point_type_cd not in ('Hold' ,'RolledBack','Rolledback'))
and trans_dtm between to_date('2014-06-30', 'yyyy-mm-dd') and to_date('2018-12-04', 'yyyy-mm-dd')
) pttrans
fetch first 300 rows only
)
where rowNumber between 1 and 10
order by trans_dtm desc;
但在输出中,作为行数,我总是得到1。。。。这就是为什么rowNumber介于1和10之间的子句不能正常工作
我得到的结果
rowNumber | TRANS_DTM | TRANS_TYPE_CD
-----------------------------------------
1 | 2018-12-04 | debit
1 | 2018-12-04 | debit
1 | 2018-12-04 | debit
1 | 2018-12-04 | credit
-----------------------------------------
有人能帮我解决这个问题吗。我的要求只是获取行号并根据param筛选出行
我正在使用AWS Oracle RDS
先谢谢你 我将通过TRANS_DTM DESC按行号顺序删除分区,并从select ptTrans.TRANS_DTM、ptTrans.TRANS_TYPE_CD中选择行号、TRANS_DTM、LOWERTRANS_TYPE_CD作为TRANS_TYPE_CD,行号为select*from point_trans中的行号,其中成员id=1702,point_账户类型=10,point_类型_cd为空,或者point_类型_cd不在'Hold'、'RolledBack'、'RolledBack'和trans_DTM中,介于2014-06-30'、'yyyy mm dd'和'2018-12-04'之间,“yyyy-mm-dd”ptTrans仅获取前300行,其中行数在1到10之间,按TRANS\u DTM DESC排序,但这会导致错误,缺少此函数的窗口规范抱歉,明白了您的意思,它现在正在工作。。。。谢谢lot@Biswajit . . 如果在注释中回答了该问题,则应删除该问题。trans_dtm值是否包含时间分量?如果按trans_dtm进行分区,则2018-12-04 00:00:01与2018-12-04 00:00:02不同,因此将在单独的一行中报告。