特定の基準に従って500レコードをフェッチする以下のクエリがあります。多くの行(数百万)があるという事実。私はレコードの総数を取得したいので、「500行に表示....」と言うことができます。このクエリでこれを行うことはできますか?私はそれを行うために別のクエリを持っていますが、私は同じクエリでそれを行うことができますかと思っていた。制限付きセットを取得中にレコードの総数を取得する - Oracle
乾杯、
クエリタム
:SELECT * FROM APPL_PERF_STATS
WHERE (GENERIC_METHOD_NAME != 'NULL' AND CURRENT_APPL_ID != 'NULL' AND EVENT_NAME != 'NULL')
AND ROWNUM < 500
AND current_appl_id LIKE '%OrderingGUI%'
AND event_name LIKE '%/ccui%'
AND generic_method_name LIKE '%com.telus.customermgt.service.CustomerMgtSvc.getCustomer%' AND appl_perf_interval_typ_id = 1440
AND cover_period_start_ts >= to_date('06-07-2008 11:53','dd-mm-yyyy HH24:mi')
AND cover_period_start_ts <= to_date('11-08-2009 11:53','dd-mm-yyyy HH24:mi')
ORDER BY CURRENT_APPL_ID, EVENT_NAME, GENERIC_METHOD_NAME, CREATE_TS
あなたのクエリは奇妙です。なぜgeneric_method_name!= 'NULL'と... generic_method_nameのような条件を持っていますか? current_appl_idとevent_nameで同じです。 また、このrownumとorderの組み合わせは、他のフィルタリング基準を満たす「ランダムな」499レコードを選択してから順序付けを行います。私は、すべてのレコードから最初の499レコード(指定された基準に従って)を望んでいたと思います... –