How to get total number of rows return by query
hi all
i am using forms 6i with oracle 10G in windows environment....
i have a tabular form now i want to know that how many rows return by the query...like when user click on enter query and then give any search criteria and then execute query..it displays the records but i want to count the records that how many rows are return.............
hope you understant what i mean
Thanks in advance
Regards
U can use
"Select count(*) from <table> where <condition>"
<condition> is the where clause being used during "Execute Query"
this will give u the no of records in query.
And second option is to take a summary column. whose function is set "COUNT" and
"Summarized item" should contain a column that will never be blank. After execute query this column will give u no of records in block.
Regards....
Similar Messages
-
How to get the number of rows returned by a report?
Hi,
I'm developing my first application in APEX and so far everything seems fine, except I can't figure out this very simple thing: I have a report based on a PL/SQL block returning an SQL string. I'd like to have a message (something like "X rows returned") just before the report. The closest thing I could find was "X to Y out of Z" in the pagination styles, but that's not what I want. Also I don't think running the same query to get COUNT() is wise.
Any help would be appreciated.
Thanks,
KonstantinMy guess is that it only shows the number of rows it has retrieved. I believe the defailt is for it to only retrieve 50 rows and as you page through your report it retrieves more. So this would just tell you how many rows was retireved, but probably not how many rows the report would contain if you pages to the end. Oracle doesn't really have a notion of total number of rows until the whole result set has been materialized.
-
How to get the number of rows in a report region
Hi all,
Is there a way to get the number of rows returned in a report region, without issuing an additional "select count(*) from some_table"?
I mean something like the substitution string #ROW_NUM# but for the total rows.
Thanks,
Pedro.http://download.oracle.com/docs/cd/E17556_01/doc/user.40/e15517/ui.htm#CHDDGGEG
For classic report regions, the region footer supports the following substitution strings:#ROWS_FETCHED# shows the number of rows fetched by the Oracle Application Express reporting engine (the page size). You can use these substitution strings to display customized messages to the user. For example:
Fetched #ROWS_FETCHED# rows in #TIMING# seconds.
*#TOTAL_ROWS# displays the total number of rows that satisfy a SQL query used for a report.*
#FIRST_ROW_FETCHED# and #LAST_ROW_FETCHED# display the range of rows displayed. For example:
Row(s) #FIRST_ROW_FETCHED# through #LAST_ROW_FETCHED# of #ROWS_FETCHED# displayed>
Ta,
Trent -
How do you limit the number of rows return from query?
How do you limit the number of rows return from query? Do all databases support this kind of feature?
i think the standard is limit
to get the top 30
select * from mytable LIMIT 30;returns the first 30 rows
also if you want a range
select * from mytable LIMIT 10,30;returns 30 rows starting from 10
this last one is useful for displaying ranges... something similar happens in these forums when viewing topics and messages -
How to get total number of days
Hi All,
how to get total number of days , for example if month eq 05 then need to get total number of days until MAY 31.
and how to get total number of days in a month.
Thank You,,
Sriii..Hi Sridhar,
Pls Try to search before posting general questions.
Try this,
CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
i_datum_bis = p_lv_date1
i_datum_von = p_lv_date2
IMPORTING
e_tage = p_e_date_difference
EXCEPTIONS
days_method_not_defined = 1
OTHERS = 2
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Regards,
Sunil kairam. -
Getting the number of rows returned from ResultSet
Hi,
Does anyone know a method to get the number of rows returned with a query using the Resultset class?
Thanks.Hi 281080,
If your database and JDBC driver support it, in order to use the solution that da-alexj has suggested, you need to create a 'scrollable' "ResultSet" -- the javadoc for method "createStatement()" (in class "java.sql.Connection") has more details.
However, I have found with Oracle 8.1.7.4 database and Oracle (thin) JDBC driver, that part of their implementation of the "last()" method (in class "java.sql.ResultSet") is to actually iterate through the entire "ResultSet" in order to reach the last row. If your "ResultSet" is very large (I tested it with a 100,000 row "ResultSet"), this will take a long time.
Just wanted to make you aware of that.
Of-course, this may be irrelevant to you since I didn't see any mention in your post of what database and JDBC driver you are using.
Hope this has helped you, anyway.
Good Luck,
Avi. -
How to get total number of nodes in a JTree?
Hi,
I am trying to get total number of nodes in a JTree, and cannot find a way to do it.
The current getRowCount() method returns the number of rows that are currently being displayed.
Is there a way to do this or I am missing something?
thanks,How many nodes does this tree have?
import java.awt.EventQueue;
import javax.swing.*;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.*;
public class BigTree {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
TreeModel model = new TreeModel() {
private String node = "Node!";
@Override
public void valueForPathChanged(TreePath path,
Object newValue) {
// not mutable
@Override
public void removeTreeModelListener(TreeModelListener l) {
// not mutable
@Override
public boolean isLeaf(Object node) {
return false;
@Override
public Object getRoot() {
return node;
@Override
public int getIndexOfChild(Object parent, Object child) {
return child == node ? 0 : -1;
@Override
public int getChildCount(Object parent) {
return 1;
@Override
public Object getChild(Object parent, int index) {
return node;
@Override
public void addTreeModelListener(TreeModelListener l) {
// not mutable
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(new JScrollPane(new JTree(model)));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}But for bounded tree model using DefaultMutableTreeNode look at bread/depth/preorder enumeration methods to walk the entire tree. Or look at the source code for those and adapt them to work with the TreeModel interface. -
How to get the number of rows in a DB-Cursor
When i open a database cursor i do not know how much rows are stored in the cursor. To solve this problem i have to send a 'select count(1) ...' to get the number of rows before i set up the cursor. I think that this is not very clever and could possibly cause performance problems. But i need the num of rows to show the percentage of processed rows. Is there any other way to get the num of rows? May be by checking the cursor directly?
Please help!
Thanx a lotIn order to find out how may rows are going to be processed, oracle has to visit every row. So with a cursor, there is no property that will accurately reflect the number of rows until you get to the last one. That said, you could use
select count(*) over() as row_count, <rest of your columns> FROM <your table>
which will give you the total row count agaist each row in the result set. There are performance penalties involved but they will be less than issuing the query twice, once to get the count and once to get the rows.
Have a look on asktom for some very usefull info about all this.
HTH -
How to get total number of result count for particular key on cluster
Hi-
My application requirement is client side require only limited number of data for 'Search Key' form total records found in cluster. Also i need 'total number of result count' for that key present on the custer.
To get subset of record i'm using IndexAwarefilter and returning only limited set each individual node. though i get total number of records present on the individual node, it is not possible to return this count to client form IndexAwarefilter (filter return only Binary set).
Is there anyway i can get this number (total result size) on client side without returning whole chunk of data?
Thanks in advance.
Prashantuser11100190 wrote:
Hi,
Thanks for suggesting a soultion, it works well.
But apart from the count (cardinality), the client also expects the actual results. In this case, it seems that the filter will be executed twice (once for counting, then once again for generating actual resultset)
Actually, we need to perform the paging. In order to achieve paging in efficient manner we need that filter returns only the PAGESIZE records and it also returns the total 'count' that meets the criteria.
If you want to do paging, you can use the LimitFilter class.
If you want to have paging AND total number of results, then at the moment you have to use two passes if you want to use out-of-the-box features because LimitFilter does not return the total number of results (which by the way may change between two page retrieval).
What we currently do is, the filter puts the total count in a static variable and but returns only the first N records. The aggregator then clubs these info into a single list and returns to the client. (The List returned by aggregator contains a special entry representing the count).
This is not really a good idea because if you have more than one user doing this operation then you will have problems storing more than one values in a single static variable and you used a cache service with a thread-pool (thread-count set to larger than one).
We assume that the aggregator will execute immediately after the filter on the same node, this way aggregator will always read the count set by the filter.
You can't assume this if you have multiple client threads doing the same kind of filtering operation and you have a thread-pool configured for the cache service.
Please tell us if our approach will always work, and whether it will be efficient as compared to using Count class which requires executing filter twice.
No it won't if you used a thread-pool. Also, it might happen that Coherence will execute the filtering and the aggregation from the same client thread multiple times on the same node if some partitions were newly moved to the node which already executed the filtering+aggregation once. I don't know anything which would even prevent this being executed on a separate thread concurrently.
The following solution may be working, but I can't fully recommend it as it may leak memory depending on how exactly the filtering and aggregation is implemented (if it is possible that a filtering pass is done but the corresponding aggregation is not executed on the node because of some partitions moved away).
At sending the cache.aggregate(Filter, EntryAggregator) call you should specify a unique key for each such filtering operation to both the filter and the aggregator.
On the storage node you should have a static HashMap.
The filter should do the following two steps while being synchronized on the HashMap.
1. Ensure that a ConcurrentLinkedQueue object exists in a HashMap keyed by that unique key, and
2. Enqueue the total number count you want to pass to the aggregator into that queue.
The parallel aggregator should do the following two steps while being synchronized on the HashMap.
1. Dequeue a single element from the queue, and return it as a partial total count.
2. If the queue is now empty, then remove it from the HashMap.
The parallel aggregator should return the popped number as a partial total count as part of the partial result.
The client side of the parallel aware aggregator should sum the total counts in the partial result.
Since the enqueueing and dequeueing may be interleaved from multiple threads, it may be possible that the partial total count returned in a result does not correspond to the data in the partial result, so you should not base anything on that assumption.
Once again, that approach may leak memory based on how Coherence is internally implemented, so I can't recommend this approach but it may work.
Another thought is that since returning entire cached values from an aggregation is more expensive than filtering (you have to deserialize and reserialize objects), you may still be better off by running a separate count and filter pass from the client, since for that you may not need to deserialize entries at all, so the cost on the server may be lower.
Best regards,
Robert -
How to get the number of rows in a repeating frame ?
Hi all,
When I launch a report from forms then sometimes there are data in the report and sometimes there are no data. And the problem is that when there are no data then the frame containing the repeating frame is still displaying and a blank page displays on the report.
So I want to get the number of rows from the repeating frame so that I can code a format trigger on the frame to display or not the enclosing frame depending on the existence of data from the repeating frame.
Thank you very much indeed.Dear Friend,
You can achieve this. Define a summary column (say cnt). Select summary type as "COUNT". select any one of columns that are getting displayed in your repeating frame as summary column and provide "reset at" group name (or set this to report if you are defining this field at report level) . This "cnt" variable will contain how many records that will be fetched for your repeating frame (i.e. Group of Repeating frame). You can use this "CNT" variable in your format trigger.
In this case there is no need to write before report trigger or anything.
Regards,
Manish Trivedi -
How to get the number of rows in a ResultSet
Hello,
I'm an intern and I'm trying to get the number of rows from result set in oracle using rs.last() and rs.beforeFirst() methods
but I got an error. Could Below is my sample code:
import java.sql.*;
public class SarueckConnect {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet re = null;
String[] ParamArray;
ParamArray = new String[24];
//Properties logon;
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); //Loading the Oracle Driver.
con = DriverManager.getConnection
("jdbc:oracle:thin:@258.8.159.215:1521:test_DB","data","data"); //making the connection DB.
stmt = con.createStatement ();// Sending a query string to the database
//stmt.executeUpdate("UPDATE test_table set steuk = 6 WHERE steuk = 5");
ResultSet rs = stmt.executeQuery("SELECT mandt,kokrs,werks,arbpl,aufnr,vornr,ile01,"+
"lsa01,ism01,ile02,lsa02,ism02,ile03,lsa03,ism03,ile04,lsa04,ism04,steuk,matnr,budat,"+
"kostl,pernr,rueckid FROM test_table where steuk =6");
//Print the result out.
rs.last(); //This is the line which gives an error.
int rows = rs.getRow();
rs.beforeFirst();// I presume this is wrong to.
ParamArray = new String[24*rows];
int counter=0;
while (rs.next()) {
for (int i = 1; i <= 24; i++){
ParamArray[i-1+(counter*24)] = rs.getString(i);
System.out.print(rs.getString(i) + '\t');
System.out.println();
counter++;
} catch(Exception e) {
e.printStackTrace();
} finally {
try
if(stmt != null) stmt.close();
if(con != null) con.close();
} catch (Exception exception) {
exception.printStackTrace();
TryBapi sap = new TryBapi(ParamArray);
}When I run the code I do have the following ERROR Message:
java.sql.SQLException: Invalid operation for forward only resultset : last
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.driver.BaseResultSet.last(BaseResultSet.java:91)
at SarueckConnect.main(SarueckConnect.java:28)Please could any body Help me out here to figure out how to correct this?
Any Help would be highly apprecited.make your result set scrollable...Not such a good idea. With Oracle, the JDBC driver will read and cache all the ResultSet in memory (with other DBMSs/drivers the behavior will probably be different, but you will still have some unnecessary overhead).
You can do the caching yourself if you think it's worth it. If the piece of code you posted is why you need this for, then use a List or Vector and you won't need to know the size upfront.
Alin,
The jTDS Project. -
How to get the number of rows written to the header of the spool file.
Hi
I need to create a header line for the spool file .
the header line should include fixed length values .
The header should include the number of records found in the table with a maximum begin date (begin_date is the column of the table)
To get the header in the spool file , i wrote a select query has :-
--SPOOL 'C:\Documents and Settings\abc\Desktop\output.TXT'
select 'W'||to_char(sysdate,'MM/DD/YYYYMi:HH:SS')||lpad(max(rownum),9,'000000000') ||'R'||max(to_char(school_from_date,'MM/DD/YYYY')) ||
rpad(' ',76,' ')
from dad.school
group by sysdate;
SPOOL OFF
which gets me all the rows in the table , but i only want the rows with the latest school_begin_date .
how can i achieve that ...
I know that a subquery should be written in the from clause to get the number of rows found with a maximum school_begin_date.
select 'W'||to_char(sysdate,'MM/DD/YYYYMi:HH:SS')||lpad(max(rownum),9,'000000000') ||'R'||max(to_char(school_from_date,'MM/DD/YYYY')) ||
rpad(' ',76,' ')
from dad.school where
select rownum from dad.school
where school_begin_date = max(school_begin_date) ;
the error i get is
ORA-00934: group function is not allowed here
I NEED HELP ..IN GETTING THE ROWNUM JUST FOR THE LATEST BEGIN_DATE ?
PLS HELP ME IN WRITING THE QUERY .
THANKS IN ADVANCE .Try this:
select 'W'||to_char(sysdate,'MM/DD/YYYYMi:HH:SS')||lpad(max(rownum),9,'000000000')||'R'||max(to_char(school_from_date,'MM/DD/YYYY')) || rpad(' ',76,' ')
from dad.school
where school_begin_date = (select max(school_begin_date)
from dad.school); -
How to get total number of days in current Fiscal period/year
Hi,
I need to get total number of days in current Fiscal period/year (current month) and assign it to an infoobject. I need a routine for this. Is there any function module to get this.If possible pls paste the ABAP code also for this task. Thanks in advancehere is the FM:
LAST_DAY_IN_PERIOD_GET
KJ!!! -
Need to know how to limit the number of rows returned on Oracle
MS SQL Server has a command called 'set row count'.
We are trying to find similar one on Oracle.
What we are trying to do is that instead of using rownum in the query statement, we would like to find way to limit the number of rows returned. I understand that we can use JDBC resultSet object, but that's not what we want.
I know Oracle has one called arraysize, but this would not limit the number of rows returned either.
Pease help.
ThanksI understand that we can use JDBC resultSet object, but that's not what we want.I'm not sure which feature of ResultSet you use and which not.
But if this question has anything to do with JDBC (that's the forum where you put it), I'd recommend to use Statement.setMaxRows(). This will limit the count of rows which your statement will fetch into it's ResultSet. -
How to set total number of rows of table control
Hi All,
I want to set the total number of rows of table control. I don't want to display the blank rows in table.
Regards,
ShrinivasNeed some fine tuning regarding the scrollbar height but it's a start
Unless this isn't what you asked for
Small number of rows
Large number of rows
Attachments:
PlayingWithTable.vi 17 KB
Maybe you are looking for
-
HT1212 my itouch wont let me enter a password it just says connect to itunes
my itouch won't let me enter a passwork it just says connect to itunes
-
Basically, the internet works in fits and starts - on the other computers it works fine, so its not the actual wifi thats the problem, BUT: So when I open a browser, I can type in what to search and hits will show up - thats fine. But as soon as I en
-
Attachment of output type to Invoice
Each type after i create a Invoice i have to go into Header and assign the output type (RD00) for printing purpose is there any other method wher i can give it commonly, so that i dont have to go and give it every time i create an Invoice. Like some
-
Display Animated object on browser dynamically
Hello Everyone ! I want to display LEDMeter on browser and its current value will be taken as input on the browser. As per the input taken on the browser the LED's of the LEDMeter must glow. What must be done for this ??? Regards, Vaibhav Singhania
-
ORA-24333 An iteration count of zero was specified for the statement
Hi all, in example below oracle generate error ORA-24333, Cause: An iteration count of zero was specified for the statement Action: Specify the number of times this statement must be executed On Error GoTo errHandler: Dim pOraStmt As OraSqlStmt 'obie