Rollup and Display Non Existing Rows
This query produces the results except that I would like to have a final total and overal average (excluding the "No GPA"). Shown as XXX in the output sample. Can this be done in one query or do I need to union for the summary?
Additionally, if possible, how can I write some statements so that rows that may not exist can be displayed on the output? Example: there are no GPAs in the range of 0.1 thru 0.9. My query results do not show the first two rows, however, the users would like to see these rows displayed regardless of the existence or not.
GPARange Count Avg
0.1 - 0.6 (F ) 0 0.00
0.7 - 0.9 (D-) 0 0.00
1.0 - 1.2 (D ) 1
1.3 - 1.6 (D+) 1
1.7 - 1.9 (C-) 4
2.0 - 2.2 (C ) 20
2.3 - 2.6 (C+) 81
2.7 - 2.9 (B-) 189
3.0 - 3.2 (B ) 387
3.3 - 3.6 (B+) 452
3.7 - 4.9 (A ) 316
NO GPA 271
TOTAL XXXX X.XX
SELECT academic_period,
stu_population,
College,
CASE
WHEN ((MBA_GPA)) <= 0.6 then '0.1 - 0.6 (F )'
WHEN ((MBA_GPA)) <= 0.9 then '0.7 - 0.9 (D-)'
WHEN ((MBA_GPA)) <= 1.2 then '1.0 - 1.2 (D )'
WHEN ((MBA_GPA)) <= 1.6 then '1.3 - 1.6 (D+)'
WHEN ((MBA_GPA)) <= 1.9 then '1.7 - 1.9 (C-)'
WHEN ((MBA_GPA)) <= 2.2 then '2.0 - 2.2 (C )'
WHEN ((MBA_GPA)) <= 2.6 then '2.3 - 2.6 (C+)'
WHEN ((MBA_GPA)) <= 2.9 then '2.7 - 2.9 (B-)'
WHEN ((MBA_GPA)) <= 3.2 then '3.0 - 3.2 (B )'
WHEN ((MBA_GPA)) <= 3.6 then '3.3 - 3.6 (B+)'
WHEN ((MBA_GPA)) > 3.6 then '3.7 - 4.9 (A-)'
WHEN ((MBA_GPA)) is null then 'No GPA'
ELSE
'What Happened'
END as GPARange,
count(id), round(avg(mba_gpa),2) AVG_GPA
FROM gpa_stat
where stu_population='F'
and academic_period ='200940'
GROUP BY stu_population,
academic_period,
CASE
WHEN ((MBA_GPA)) <= 0.6 then '0.1 - 0.6 (F )'
WHEN ((MBA_GPA)) <= 0.9 then '0.7 - 0.9 (D-)'
WHEN ((MBA_GPA)) <= 1.2 then '1.0 - 1.2 (D )'
WHEN ((MBA_GPA)) <= 1.6 then '1.3 - 1.6 (D+)'
WHEN ((MBA_GPA)) <= 1.9 then '1.7 - 1.9 (C-)'
WHEN ((MBA_GPA)) <= 2.2 then '2.0 - 2.2 (C )'
WHEN ((MBA_GPA)) <= 2.6 then '2.3 - 2.6 (C+)'
WHEN ((MBA_GPA)) <= 2.9 then '2.7 - 2.9 (B-)'
WHEN ((MBA_GPA)) <= 3.2 then '3.0 - 3.2 (B )'
WHEN ((MBA_GPA)) <= 3.6 then '3.3 - 3.6 (B+)'
WHEN ((MBA_GPA)) > 3.6 then '3.7 - 4.9 (A-)'
WHEN ((MBA_GPA)) is null then 'No GPA'
ELSE
'What Happened'
END,
rollup(college)
order by 1, 2, 3, 4;
Hi,
user1069723 wrote:
This query produces the results except that I would like to have a final total and overal average (excluding the "No GPA"). Shown as XXX in the output sample. Can this be done in one query or do I need to union for the summary?Yes, you can do that in one query, using ROLLUP. You don't need a UNION.
Additionally, if possible, how can I write some statements so that rows that may not exist can be displayed on the output? Example: there are no GPAs in the range of 0.1 thru 0.9. My query results do not show the first two rows, however, the users would like to see these rows displayed regardless of the existence or not.That's exactly what outer joins do: they display data from one table with matching data from a second table, if any matching data is found. The data from the first table is displayed whether or not there is a match. If there is no match, all columns from the second table are NULL. If you want to treat those NULLs as 0's, use NVL, as I did when displayijng the average, below.
In this problem, what is the first table, the table that has one row per grade range, and will be displayed even if no row in the result set falls into that grade range?
You ought to have such a table. The information about where the ranges begin and end, what letter grades are associated with each, and so on, is data. Data belongs in tables, not hard-coded into queries. If, next year, they decide to change where the boundary between D+ and C- falls, or to add an A group, an authorized user can make the change to one table. No matter how many queries use grade ranges, no programmer will have to change any query.
Here's how you might create such a table:
CREATE TABLE GPA_Range
AS
SELECT 0.0 AS low_gpa, 0.7 AS high_gpa, '0.1 - 0.6 (F)' AS display_txt, 'F' AS letter_txt FROM dual UNION ALL
SELECT 0.7 AS low_gpa, 1.0 AS high_gpa, '0.7 - 0.9 (D-)' AS display_txt, 'D-' AS letter_txt FROM dual UNION ALL
SELECT 1.0 AS low_gpa, 1.3 AS high_gpa, '1.0 - 1.2 (D)' AS display_txt, 'D' AS letter_txt FROM dual UNION ALL
SELECT 1.3 AS low_gpa, 1.7 AS high_gpa, '1.3 - 1.6 (D+)' AS display_txt, 'D+' AS letter_txt FROM dual UNION ALL
SELECT 1.7 AS low_gpa, 2.0 AS high_gpa, '1.7 - 1.9 (C-)' AS display_txt, 'C-' AS letter_txt FROM dual UNION ALL
SELECT 2.0 AS low_gpa, 2.3 AS high_gpa, '2.0 - 2.2 (C)' AS display_txt, 'C' AS letter_txt FROM dual UNION ALL
SELECT 2.3 AS low_gpa, 2.7 AS high_gpa, '2.3 - 2.6 (C+)' AS display_txt, 'C+' AS letter_txt FROM dual UNION ALL
SELECT 2.7 AS low_gpa, 3.0 AS high_gpa, '2.7 - 2.9 (B-)' AS display_txt, 'B-' AS letter_txt FROM dual UNION ALL
SELECT 3.0 AS low_gpa, 3.3 AS high_gpa, '3.0 - 3.2 (B)' AS display_txt, 'B' AS letter_txt FROM dual UNION ALL
SELECT 3.3 AS low_gpa, 3.7 AS high_gpa, '3.3 - 3.6 (B+)' AS display_txt, 'B+' AS letter_txt FROM dual UNION ALL
SELECT 3.7 AS low_gpa, 999 AS high_gpa, '3.7 - 4.9 (A-)' AS display_txt, 'A-' AS letter_txt FROM dual UNION ALL
SELECT NULL, NULL, 'No GPA', NULL FROM dual;As always, document everything, especially non-intuitive or potentially misleading things:
COMMENT ON COLUMN gpa_range.low_gpa IS 'Lowest numerical grade inside this range.';
COMMENT ON COLUMN gpa_range.low_gpa IS 'Lowest numerical grade in THE NEXT range. This value is OUTSIDE of the range';You might prefer to assign impossible low_gpa and high_gpa values (like -2 and -1) to the 'No GPA' row. It's completely arbitrary, non-intutive and potentially confusing, but it would make joining easier.
If you can't create such a table, you can use a sub-query almost identical to the CREATE TABLE statement above in every query that needs it.
Here's the main query to do what you requested:
WITH interesting_gpa_stat AS
SELECT college
, mba_gpa
FROM gpa_stat
WHERE stu_population = 'F'
AND academic_period = '200940'
, all_colleges AS
SELECT DISTINCT college
FROM interesting_gpa_stat
SELECT c.college
, r.display_txt AS gparange
, COUNT (s.college) AS count
, NVL ( AVG (s.mba_gpa)
, 0
) AS avg
FROM all_colleges c
CROSS JOIN gpa_range r
LEFT OUTER JOIN interesting_gpa_stat s ON ( c.college = s.college
AND r.low_gpa <= s.mba_gpa
AND r.high_gpa > s.mba_gpa
OR ( c.college = s.college
AND r.low_gpa IS NULL
AND s.mba_gpa IS NULL
GROUP BY ROLLUP ( c.college
, r.display_txt
ORDER BY c.college
, r.display_txtWithout any sample data and the results you want from that data, I had to make several assumptions.
For example, I assumed you wanted to have several colleges in the same result set. For each college, there will be one row of output for every grade range in the gpa_range table, regardless of whether any matches are found in the gpa_stat table. It's okay if there happens to be only one college if the result set.
The query includes a total for each college, and a grand total for the entire result set.
Any filtering (such as stu_population='F') should be done in the interesting_gpa_stat sub-query. You could get by without this sub-query, but any filtering conditions that would be in the WHERE clause would have to be added to outer-join conditions.
NULL values are ignored in all aggregate funcitons, so nothing special has to be done to keep rows in the 'No GPA' group from distorting the averages. The NVL function that presents 0 as the average when no grades were found in the other ranges always causes this average to apperar as 0 in the 'No GPA' rows, too. If you would prefer NULL in that column, then put the NVL inside a CASE expression.
Edited by: Frank Kulash on Jun 28, 2009 5:03 AM
Similar Messages
-
Questionable NE (non existant) row in conflict view
In the conflicts view, we have a record which shows up as non existing in the base version. But we know that the row existed (in LIVE) before the child workspace was created, and we know that the row was subsequently updated (not inserted) in LIVE and updated (not inserted) in the child workspace. (We have the history view). Why would the conflict view think that the row didn't exist before?<br>
WM_WORKSPACE PK WM_DELETED
<br>GR13_M4_2005Q3 1039133 NO
<br>BASE 10391336 NE
<br>LIVE 10391336 NO
<p>
Thanks
chaimHi,
This could happen for the following reason. If the update in LIVE workspace overwrites the base version of the row, then the CONF view will report the row as being non existent. The NE code does not mean that the base row never existed, only that it no longer exists. Since the base row was overwritten, the CONF view is correctly identifying it as NE.
The row in the LIVE workspace could be overwritten due to the table being versioned with the view_w_overwrite history option or without any history. It is also possible to turn overwrite on at the session level for tables versioned with the view_wo_overwrite option.
This behavior would typically not occur in workspaces that are not continually refreshed(CR). This is because when a non-CR workspace is created, an implicit savepoint in created in the parent workspace which will prevent the base row from being overwritten. This savepoint is not created for CR workspaces. You could also explicitly create a savepoint in the LIVE workspace if you want to prevent this situation from occurring.
If any of the above is not applicable to your case, then I would need more details to determine why this is happening.
Regards,
Ben -
Issue with table selection and display the seleted rows in another page as a table data
Dear ALL,
I have a requirement as below:
I have a custom OAF page having one button, on pressing the button it will open a popup window, in that i am doing search operation and data would populate in table region below.
Then from the table i am doing multiple selection of rows and i have a button, on pressing the button the seleted rows should display in the base page where i called this popup window and popup window should close.
so i am able to perform multiple selection of row from the table but how i can display the seleted rows in my base page and how i can close the poup window after the seleted rows displayed in the base page, please help me on this.
Thanks
DebHi,
For navigation data from one page to another you can use a hashmap that contains the parameters.
// processFormRequest()
HashMap hsp = new HashMap(1);
hsp.put("myParam", "myParamVal");
pagecontext.setForwardURL("MY_FUNCTION", (byte)0, null, hsp,true, "N", (byte)0);
You can then retrieve this parameter in processRequest() via:
pagecontext.getParameter("myParam")
//Code for redirect to base page with commit
Refer to the setPostToCallingPage method, from OADialogPage Class how to make the dialog page action buttons submit back to the calling page. In the example, the OK button commits the changes on the dialog page and the NO button rolls back the changes.
OADialogPage dialogPage = new OADialogPage(OAException.*, mainMessage, null, "", "");
dialogPage.setOkButtonItemName("okButton");
dialogPage.setOkButtonToPost(true);
dialogPage.setNoButtonToPost(true);
dialogPage.setPostToCallingPage(true);
dialogPage.setOkButtonLabel(yes);
dialogPage.setNoButtonLabel(no);
Thanks,
Dilip -
Hi All,
I want to insert this row into the target table only when this row is not already exist. This is easy in SQL, but not sure how to achieve it in OWB.
~PrabhaHi,
what do u want to do if the row is already available? If u want to update then just use insert/update in the tgt table properties. If there needs to be no update then do an outer jin with the tgt as source and pick out the rows that is coming from the source with tgt key cols as NULL and just do an insert into the tgt table.
Regards
Bharath -
Best practice for update/insert on existing/non existing rows
Hello,
In an application I want to check if a row exists and if yes I want to update the row and if not I want to insert the row.
Currently I have something like this:
begin
select *
into v_ps_abcana
from ps_abcana
where typ = p_typ
and bsw_nr = p_bsw_nr
and datum = v_akt_date
for update;
exception
when no_data_found then
v_update := false;
when others then
raise e_error_return;
end;
if v_update = false
then
/* insert new row */
else
/* update locked row */
end if;
The problem is that the FOR UPDATE lock has no effect for inserts. So if another session executes this part exactly the same time then there will be two rows inserted.
What is the best way to avoid this?for me the 1st solution is the most efficient one.
in your 2nd solution it seems to me that you're gonna create a dummy table that will serve as a traffic cop. well that possible but not the proper and clean approach for your requirement. you're absolutely complicating your life where in fact Oracle can do it all for you.
First thing that you have to consider is your database design. This should somehow corresponds to the business rule and don't just let the program to do it on that level leaving the database vulnerable to data integrity issue such as direct data access. In your particular example, there's no way you can assure that there'll be no duplicate records in the table.
this is just an advice when designing solution: Don't use a "Mickey Mouse" approach on your design! -
Search the xml node by attributes and display the entire row
I am having a table with two columns say
school_name string type
student_notebookprice xmldata
how do i search with oracle query having student_id=102 and schoolname="abc_school" with notebook price 20, how do i get only one single row
abc_school,
<students>
<student id="101">
<notebookprice>12</notebookprice>
</student>
<student id="102">
<notebookprice>20</notebookprice>
<notebookprice>30</notebookprice>
<notebookprice>40</notebookprice>
</student>
</students>
def_school,
<students>
<student id="301">
<notebookprice>10</notebookprice>
</student>
<student id="302">
<notebookprice>15</notebookprice>
<notebookprice>16</notebookprice>
</student>
</students>yes . what i want based on search criteria i need to display that row . initially i have tried with the below query
SELECT school_name,
extractvalue(value(x), '//id') as student_id ,
extractValue(value(x), '//teacher') AS teacher
FROM school t ,
TABLE( XMLSequence( Extract(t.obj_xml, '/students/student[id=101 and teacher="abc"]'))) x
where existsNode(t.obj_xml, '/students/student[id=101 and teacher="abc"]') = 1
but when i want to add the second student in the search , i am failed to produce the second student information in the output and i can able to add it to where clause and but how to display the student info in the output . The xmltable option that u have specified looks good but what i fear is , it produce multiple combination with all the tags in the xml with the other columns in the table . will it cause any performence issue .
<students>
<student >
<id>101</id>
<teacher>abc</teacher>
</student>
<student >
<id>102</id>
<teacher>xyz</teacher>
<teacher>onp</teacher>
<teacher>rsm</teacher>
</student>
</students>
SELECT school_name,
extractvalue(value(x), '//id') as student_id ,
extractValue(value(x), '//teacher') AS teacher
FROM school t ,
TABLE( XMLSequence( Extract(t.obj_xml, '/students/student[id=101 and teacher="abc"]'))) x
where existsNode(t.obj_xml, '/students/student[id=101 and teacher="abc"]') = 1
and existsnode(t.obj_xml, '/students/student[id=102 and teacher="xyz"]') = 1 -
Stack displaying non-existent files
I have a 'Downloads' folder stack as most 10.5 users do, but for some reason mine is populated with a few files that don't actually exist. I've gone to the Terminal and looked at hidden files (ls -lah) and it confirms that these files don't actually exist.
Does anyone else have this issue? Is there a cache file I'm missing that can be cleared to resolve this? Should I care that these files have an .exe extension but are registered as QT MPEG files?
It's all a little weird to me.The files that were being erroneously displayed did go away with the 10.5.1 update, but new ones have appeared. It has become apparent that a file being downloaded with a temporary name is getting cached in stacks, but when the temp file is deleted at download completion the phantom file remains in stacks.
I will try to report it to Apple bug reporter, but would love to know where this info is being cached in the meantime. -
ITunes displaying non-existing TV-Shows on iPhone
Hi,
when I connect my iPhone4 (5.0.1) to iTunes, it displays two old TV-Shows on my iPhone. But the TV-Shows don't show up in my iTunes library (I have no TV-Show at all in my library) and they don't show up on my iPhone when I open the Videos app (no TV-Show at all on my iPhone). But iTunes still displays them as grayed out items on my iPhone. I can delete them from there, but as soon as I sync my iPhone they reappear as grayed out items in the TV-Shows section of my iPhone in iTunes. I even tried to remove them with CopyTrans. It seemed to work. Disconnected the iPhone from my computer, reconnected it, reopend CopyTrans and the TV-Shows don't show up anymore. But as soon as I open iTunes, these two TV-Shows show up again... I tried everything to get rid of these two ghost items, but they reappear again and again. Btw. these were two TV-Shows I downloaded through the 12 days of christmas app one year ago.
Best regards,
DonatoSelect the iPod.
At the bottom, you have options such as Songs, Playlists, Albums, etc.
Select Videos.
If Videos isn't available, select More and then select Videos. -
SQl question regarding non-existent rows
I have this sql statement
select im_status, im_language, count(*)
from icm_main
where im_language in ('de','ko','ja','en','es')
and im_status in ('approved','live','composing')
group by im_language, im_status
It works great for rows in teh database. But I don't have any 'DE', 'approved' items. How can I get that query to show me 0 for the count(*)?
ThanksSimple example:
SQL> select ename, deptno from emp where
2 ename in ('SMITH','ALLEN','WARD','BONYE');
ENAME DEPTNO
ALLEN 30
SMITH 20
WARD 30
SQL> select p.ename, p.deptno, count(e.ename)
2 from emp e right join
3 (
4 select ename, deptno
5 from (
6 select 'SMITH' ename from dual
7 union all
8 select 'ALLEN' from dual
9 union all
10 select 'WARD' from dual
11 union all
12 select 'BONYE' from dual
13 ) a,
14 (select 10 deptno from dual
15 union all
16 select 20 from dual
17 union all
18 select 30 from dual
19 union all
20 select 40 from dual
21 ) b
22 ) p
23 on (p.ename = e.ename and p.deptno = e.deptno)
24 group by p.ename, p.deptno
25 /
ENAME DEPTNO COUNT(E.ENAME)
WARD 10 0
WARD 20 0
WARD 30 1
WARD 40 0
ALLEN 10 0
ALLEN 20 0
ALLEN 30 1
ALLEN 40 0
BONYE 10 0
BONYE 20 0
BONYE 30 0
BONYE 40 0
SMITH 10 0
SMITH 20 1
SMITH 30 0
SMITH 40 0
16 rows selected.Rgds. -
Get user count from two tables and display in 1 row
I have 2 tables.....
Table1 Table2
user date user date
With 1 query, I want to display the user, the count of the number of times a user appears in Table1.user as count1 and the count of the number of times that same user appears in Table2.user as count2 between a specific time period. I have looked and tried things including joins, unions, nested loops but can't get anything to work. The result would appear like this:
USER COUNT1 COUNT2
john 100 2
doe 1000 200
Thank you for your time. I'm really stuck and confused.Hi,
Welcome to the forum!
I think the easiest way to do this is to do a GROUP BY query on each table separately, and then combine the results, using FULL OUTER JOIN or UNION.
WITH union_data AS
SELECT user_name
, COUNT (*) AS count1
, 0 AS count2
FROM table1
WHERE dt >= &start_dt
AND dt < &end_dt + 1
GROUP BY user_name -- Forgot this originally!
UNION ALL
SELECT user_name
, 0 AS count1
, COUNT (*) AS count2
FROM table2
WHERE dt >= &start_dt
AND dt < &end_dt + 1
GROUP BY user_name -- Forgot this originally!
SELECT user_name
, SUM (count1) AS count1
, SUM (count2) AS count2
FROM union_data
GROUP BY user_name
;Edited by: Frank Kulash on Jul 29, 2009 1:34 PM
Edited by: Frank Kulash on Jul 29, 2009 2:46 PM
As Solomon pointed out, I forgot the GROUP BY clauses in the sub-query.
Without the tables, I can't test it. -
Why is name search results backward and has non-existant info??
I did a people search.
https://discussions.apple.com/search.jspa?q=hiroto&facet=people
I did a name search on Hiroto. His appleid was listed last. You would think an exact match on the name would be listed first.
Also, view in orgchart doesn't work. Is orgchart a valid word. My spell checker doesn't think so.Orgchart is a contraction of Organization Chart. Jive has many features that are used by other organizations but are not implemented on this site, the Orghart being one of them. Ideally those links would be omitted or hidden.
In principle adding the URL parameter &sortOrder=ascending onto the earlier URL ought to reverse the results but according to Jive's documentation it may not always work as expected, and doesn't in this case.
The default order if none is provided is "descending". Please note that ascending and descending do not necessary produce exact opposites of one another. This is because there are often additional criteria that is used to sort items that have matching primary criteria.
In this case if you add quotes around the search term you will get a single result. https://discussions.apple.com/search.jspa?q=%22hiroto%22&facet=people
Next time you are in a search windows click the Search tips link and take a look around.
By the way, users who have set their Online Visibility (via User Preferences ) to off are not returned by a people search. This preference would appear to be controlling the wrong privacy setting. Online Visibility isn't an enabled feature of ASC.
tt2 -
Displaying non existing vendors from lfa1 table..
Hi All..
I have a selection screen range for vendor number: LIFNR.
I want to display all the vendor numbers that are not present in the LFA1 table.. ( If the user gives the vendor range on the selection screen)..
Any idea or suggestions on how to approach would be great..
Thanks a lot..OK then , pl try thye following piece of code...
report zlif .
data: w_num type i.
data: begin of itab occurs 0,
lifnr type lifnr,
end of itab.
data itab2 like itab occurs 0 with header line.
data w_lifnr type lifnr.
select-options: s_lifnr for w_lifnr.
ranges: r_lifnr for w_lifnr.
select lifnr into table itab from lfa1.
find the number of entries
w_num = s_lifnr-high - s_lifnr-low.
w_num = w_num + 1.
do w_num times.
if sy-index = 1.
w_lifnr = s_lifnr-low.
else.
w_lifnr = w_lifnr + 1.
endif.
r_lifnr-sign = 'I'.
r_lifnr-option = 'EQ'.
r_lifnr-low = w_lifnr.
append r_lifnr.
enddo.
loop at r_lifnr.
read table itab with key lifnr = r_lifnr-low.
if sy-subrc ne 0.
write:/ r_lifnr-low.
endif.
endloop.
Regards,
Suresh Datti -
My webmail is auto signing me out several times a day, but only on this computer. It's set for 'private', I've uninstalled and reinstalled that program, cleared cache and re-started, same thing with Firefox.
Firefox is also frequently blocking pages from opening that apparently don't exist, and blocking non-existent pop-up windows as well.
Today I got an error message that my sync password was rejected, which is odd since it's set to manually sync and nothing's been changed. All the resets happened days ago. It also wouldn't let me use my password, but let me change it.
Since this is the only computer I'm having the problems on I'm assuming that it's either the version of Firefox that I'm using or something in my computer that suddenly isn't playing nice with Firefox, but I don't know where to start, other than once again un and re-installing it (which did nothing).
Thanks for any help!I kept getting that error message. I thought that since I'm syncing with my corporate email so the calendar syns wirelessly with Outlook, that it was causing a conflict.
I just found this post though, and other people said it worked for them
http://www.google.com/support/forum/p/Google%20Mobile/thread?tid=0267f2909cea0df9&hl=en
If someone has been helpful please consider giving them kudos by clicking the star to the left of their post.
Remember to resolve your thread by clicking Accepted Solution. -
Speeding up displaying 1000s of rows of db query results in JSP
I am working on a report that formats and displays thousands of rows from the result set. Although the query itself takes only 1 sec, a lot of time (15 secs) is spent formatting for JSP and serving it back to the browser.
Is there an efficient way of speeding this up? Increasing page buffer size didn't seem to help. <%@ page buffer="64kb" %>
Thanks
Mark SabatiniIs there an efficient way of speeding this up?
Increasing page buffer size didn't seem to help. <%@
page buffer="64kb" %>The container starts writing out the html when the buffer is full.
So, increasing the buffer size will further delay the appearance of the page in the browser.
If by formatting the page, you mean sorting/re-arranging data, you could push that into the database by using a stored procedure.
@mshanu: What exactly do you expect to achieve by adding an extra step of converting to xml? -
How to display a empty (non-existing) column and info in LAST row
Hello!
I´m trying to create the code that diplays all authors (author.name), empty COLUMN, NR_OF_BOOK_PER_AUTHOR.
I want the LAST ROW to display: (column1) the word 'Sum:', (column2) nr of authors, (column3) total sum of all books
Headache: How do I display the EMPTY column and how do I get the LAST ROW to display column1) 'Sum:', (column2) nr of authors, (column3) total sum of all books
It should look like this:
AUTHOR EMPTY NR_OF_BOOKS_PER_AUTHOR
I can list all authors and NR_OF_BOOKS_PER_AUTHOR using this code:
SELECT A.NAME, COUNT(B.ROWID)
FROM AUTHOR A, BOOK B
WHERE B.AUTHOR_ID = A.ID
GROUP BY A.NAME
ORDER BY COUNT(B.ROWID)
I can count the numbers of authors (should be displayed in last row column2) using:
SELECT COUNT(name)
FROM author
and I can list the total amount of books (should be displayed in last row column3) using:
SELECT COUNT(title)
FROM book
But I come up short with how to display the EMPTY column and the last row containing (column1) the word 'Sum:', (column2) nr of authors, (column3) total sum of all books
Any suggestions?
Best regards,
DanielI want the LAST ROW to display: (column1) the word 'Sum:', (column2) nr of authors, (column3) total sum of all booksHave a look at GROUP BY with CUBE or ROLLUP.
Cheers, APC
Maybe you are looking for
-
I have an ipod nano and load audible books on it. How do you get it to repeat a small segment without going back to the beginning of the chapter?
-
How to use this example code in Flash AS3?
Hi, How can I use this AS3 code in my Flash CS4 document? The following code is in the below link: http://pv3d.org/2009/12/18/tweenmax-tweening-a-timeline-advanced-tweening/# Please help. Thanks.
-
Date Shifted Events in Calendar
In the Month View and the Day View of Celandar under iOS 5 all of the entries appear correct. However, in the List View a major problem appears. All of the entries appear to be shifted one day earlier. So, for example, an event X which appears (cor
-
Hello, Can someone tell me what the default access modifier is in Java: -for methods -for member variables Thanks in advance, Balteo
-
Invalid serial number (fixed) and incredibly slow uploads
I have a G4 Mac Mini running OS X Server 10.5. It's been working for a long time. I just moved and suddenly it said invalid serial number. I saw Airport was on and turned it off and that problem seems resolved (how did it start??). Now, I have an