How to Prioritize the Query Result Using Analytical Functions
hi
Edited by: prakash on May 20, 2013 1:42 AM
Use ROW_NUMBER
SQL> select PRVDR_LCTN_X_SPCLTY_SID,PRVDR_LCTN_IID,PRVDR_TYPE_X_SPCLTY_SID,STATUS_CID
2 from
3 (
4 select t.*,
5 row_number() over(partition by PRVDR_TYPE_X_SPCLTY_SID
6 order by STATUS_CID) rn
7 from your_table t
8 )
9 where rn = 1;
PRVDR_LCTN_X_SPCLTY_SID PRVDR_LCTN_IID PRVDR_TYPE_X_SPCLTY_SID STATUS_CID
75292110 10153920 75004770 1
75291888 10153920 75004884 2
75292112 10153920 75004916 1
75292117 10153920 75004974 1
Similar Messages
-
How to get the query result of improvement (Before and After ) using sql de
how to get the query result of improvement (Before and After ) using sql developer.
Check
http://www.oracle.com/technetwork/articles/sql/exploring-sql-developer-1637307.html -
How to find the query name using infoset name
Hi Experts
Iam new to the sap queries(SQ01,SQ02), some queries already created.
now i want to do some modification, my problem is i am not able to find the query name.
I know the infoset name, can you tell me how to find the query name using the infoset name, is ther any table for this.
i tried in sq01 also, but its confusion, pls advice me on this.
thanks in advance.
regards
rajaramHi
try like this..
SQ02 --> go to --> Query Directory..
from there you can get all the queries belong to a Infoset. -
How to display the query results in several pages?.
Hi,
i want to display the query results in several pages. for example my query result found 50 matches, now i want to print 20 per pages next 20 will be in next pages. iam using only jsp & mysql.
Regards
ChinnaHi, what you are trying accomplish is known as pagination.
You could use JSTL tags with Custom Tags to perform pagination in your JSP pages.
evnafets showed me DisplayTags , you could use those as well http://displaytag.sourceforge.net/11/tut_externalSortAndPage.html
Here is one article on paging:
http://www.javaworld.com/javaworld/jw-07-2004/jw-0726-pagination.html -
How to get the best results using the refine edge tool?
how to use the sliders in the refine edge tool? how do you get the best results using the fine edge tool?
You should ask in the forum for the (un-named) program you are using
The Cloud forum is not about using individual programs
The Cloud forum is about the Cloud as a delivery & install process
If you will start at the Forums Index https://forums.adobe.com/welcome
You will be able to select a forum for the specific Adobe product(s) you use
Click the "down arrow" symbol on the right (where it says All communities) to open the drop down list and scroll -
Query for using "analytical functions" in DWH...
Dear team,
I would like to know if following task can be done using analytical functions...
If it can be done using other ways, please do share the ideas...
I have table as shown below..
Create Table t As
Select *
From
Select 12345 PRODUCT, 'W1' WEEK, 10000 SOH, 0 DEMAND, 0 SUPPLY, 0 EOH From dual Union All
Select 12345, 'W2', 0, 100, 50, 0 From dual Union All
Select 12345, 'W3', 0, 100, 50, 0 From dual Union All
Select 12345, 'W4', 0, 100, 50, 0 From dual
PRODUCT WEEK SOH DEMAND SUPPLY EOH
12345 W1 10,000 0 0 10000
12345 W2 0 100 50 0
12345 W3 0 100 50 0
12345 W4 0 100 50 0
Now i want to calcuate EOH (ending on hand) quantity for W1...
This EOH for W1 becomes SOH (Starting on hand) for W2...and so on...till end of weeks
The formula is :- EOH = SOH - (DEMAND + SUPPLY)
The output should be as follows...
PRODUCT WEEK SOH DEMAND SUPPLY EOH
12345 W1 10,000 10000
12345 W2 10,000 100 50 9950
12345 W3 9,950 100 50 9900
12345 W4 9,000 100 50 8950
Kindly share your ideas...Nicloei W wrote:
Means SOH_AFTER_SUPPLY for W1, should be displayed under SOH FOR W2...i.e. SOH for W4 should be SOH_AFTER_SUPPLY for W3, right?
If yes, why are you expecting it to be 9000 for W4??
So in output should be...
PRODUCT WE SOH DEMAND SUPPLY EOH SOH_AFTER_SUPPLY
12345 W1 10000 0 0 0 10000
12345 W2 10000 100 50 0 9950
12345 W3 9950 100 50 0 *9900*
12345 W4 *9000* 100 50 0 9850
per logic you explained, shouldn't it be *9900* instead???
you could customize Martin Preiss's logic for your requirement :
SQL> with
2 data
3 As
4 (
5 Select 12345 PRODUCT, 'W1' WEEK, 10000 SOH, 0 DEMAND, 0 SUPPLY, 0 EOH Fom dual Union All
6 Select 12345, 'W2', 0, 100, 50, 0 From dal Union All
7 Select 12345, 'W3', 0, 100, 50, 0 From dal Union All
8 Select 12345, 'W4', 0, 100, 50, 0 From dual
9 )
10 Select Product
11 ,Week
12 , Sum(Soh) Over(Partition By Product Order By Week)- Sum(Supply) Over(Parttion By Product Order By Week)+Supply Soh
13 ,Demand
14 ,Supply
15 , Sum(Soh) Over(Partition By Product Order By Week)- Sum(Supply) Over(Partition By Product Order By Week) eoh
16 from data;
PRODUCT WE SOH DEMAND SUPPLY EOH
12345 W1 10000 0 0 10000
12345 W2 10000 100 50 9950
12345 W3 9950 100 50 9900
12345 W4 9900 100 50 9850 Vivek L -
How to get the query result !
Experts !
i am working on a query. in this query i have a sales for a sales person for a month, and in the 2nd coulmn sales for the previous month. there is a 3rd column which gives (% change ). now i have to show only those records where (% change ) is more / less 34%. how do i get those ? Exceptions ??
If by using exceptions, then the 3rd column ( % change) is a formula column ( Not the key figure) . can i use exceptions on Formula column ?
Please helpHI ,
You can try this by creating a condition ,
Create a new condition, in keyfigure you can choose the formula for %, choose the operator as Greater than , in values give 34
Regards,
Sathya -
How to get the return when use this function ----- getUsersInGroup()
how do we assign list of nodes that getUsersInGroup() returns? And how do we get the result of the returns? And where is the groups and users config files? I am attempting notifications to all users in a group. Thank you!!
Why do you want to do that, you cannot attach a VO which is not present in the AM. Can you elaborate on your requirement.
-
Query rewrite using analytical functions
Hallo list,
can someone help me in rewriting this sql statment in a better way ?
select k.kos_aktnr, vpr.vorgang_id, vpr.vorgang_nr, vpr.vorgang_name, 0 as
vormonat, max((select sum (menge)
from
swp.kosten k1 where ressource_id = :1 and jahr = :2 and monat = :3 and tag =
1 and k.kos_aktnr = k1.kos_aktnr)),
max((select sum (menge) from swp.kosten
k1 where ressource_id = :4 and jahr = :5 and monat = :6 and tag = 2 and
k.kos_aktnr = k1.kos_aktnr)),
from swp.kosten k, sw.vorgang v, sw.vorgang vpr
WHERE v.vorgang_id = k.kos_aktnr AND v.projekt_id = vpr.vorgang_id AND
v.ausblenden = 0 AND vpr.ausblenden = 0 AND v.vorgtypart_id <> 1 AND
k.ressource_id = :94 AND k.jahr = :95 AND k.monat = :96 GROUP BY
k.kos_aktnr, vpr.vorgang_id, vpr.vorgang_nr, vpr.vorgang_namei have this part with the ' max ' ecexute for each date this means ivae 30 statment with max function.
Basically this query retrieves the attendance hours for an employee.[duplicate thread|http://forums.oracle.com/forums/thread.jspa?threadID=961297&tstart=0]
-
hi all,
please tell me the order of execution of the below query.
my doubt is here the data will be fetched for doc_type and doc_number is null or first it will fetch the data based on company,reference,partent from activity_details
SELECT REFERENCE,SERIAL,JOB_NUMBER
FROM PROCESS_DETAIL
WHERE BASED_ON ='TBA'
AND PROCESS_TYPE = 'H'
AND STATUS IN('2','4','6')
AND EXISTS (SELECT 1 FROM JOB_HEADER JH
WHERE COMPANY = JH.COMPANY
AND REFERENCE = JH.REFERENCE
AND JH.STATUS IN('2','4','6'))
AND NOT EXISTS (SELECT 1
FROM ACTIVITY_DETAILS
WHERE COMPANY = COMPANY
AND REFERENCE = REFERENCE
AND SERIAL = PARENT
AND DOC_TYPE IS NOT NULL
AND DOC_NUMBER IS NOT NULL)please let me know how to analyse the query?Use alias for tables in SELECT clause. Try it.
SELECT REFERENCE,SERIAL,JOB_NUMBER
FROM PROCESS_DETAIL PR
WHERE BASED_ON ='TBA'
AND PROCESS_TYPE = 'H'
AND STATUS IN('2','4','6')
AND EXISTS (SELECT 1 FROM JOB_HEADER JH
WHERE COMPANY = PR.COMPANY
AND REFERENCE = PR.REFERENCE
AND STATUS IN('2','4','6'))
AND NOT EXISTS (SELECT 1
FROM ACTIVITY_DETAILS
WHERE COMPANY = JH.COMPANY
AND REFERENCE = JH.REFERENCE
AND SERIAL = PARENT -- maybe PR. alias here
AND DOC_TYPE IS NOT NULL
AND DOC_NUMBER IS NOT NULL) -
Hi all,
I want an help in creating my SQL query to extract the data described below:
I have one table example test containing data like below:
ID Desc Status
1 T1 DEACTIVE
2 T2 ACTIVE
3 T3 SUCCESS
4 T4 DEACTIVE
The thing i want to do is selecting all lines with ACTIVE status in this table but is there is no ACTIVE status, my query will give me the last line with DEACTIVE status.
Can I do this in one query by using analytical function for example, if yes can yiu help me on thaht query.
regards,
RaluceHi, Raluce,
Here's one way to do that:
WITH got_r_num AS
SELECT deptno, ename, job, hiredate
, ROW_NUMBER () OVER ( PARTITION BY deptno
ORDER BY job
, hiredate DESC
) AS r_num
FROM scott.emp
WHERE job IN ('ANALYST', 'CLERK')
SELECT deptno, ename, job, hiredate
FROM got_r_num
WHERE job = 'ANALYST'
OR r_num = 1
ORDER BY deptno
Since I don't have a sample version of your table, I used scott.emp to illustrate.
Output:
DEPTNO ENAME JOB HIREDATE
10 MILLER CLERK 23-JAN-82
20 SCOTT ANALYST 19-APR-87
20 FORD ANALYST 03-DEC-81
30 JAMES CLERK 03-DEC-81
This query finds all ANALYSTs in each department, regardless of how many there are. (Deptno 20 happens to have 2 ANALYSTs.) If there is no ANALYST in a department, then the most recently hired CLERK is included. (Deptnos 10 and 30 don't have any ANALYSTs.)
This "partitions", or sub-divides, the table into separate units, one for each department. In the problem you posted, it looks like you want to operate in the entire table, without sub-dividing it in any way. To do that, just omit the PARTITION BY clause in the analytic ROW_NUMBER function, like this:
WITH got_r_num AS
SELECT deptno, ename, job, hiredate
, ROW_NUMBER () OVER ( -- PARTITION BY deptno
ORDER BY job
, hiredate DESC
) AS r_num
FROM scott.emp
WHERE job IN ('ANALYST', 'CLERK')
SELECT deptno, ename, job, hiredate
FROM got_r_num
WHERE job = 'ANALYST'
OR r_num = 1
ORDER BY deptno -
How can rewrite the Query using Analytical functions ?
Hi,
I have the SQL script as shown below ,
SELECT cd.cardid, cd.cardno,TT.TRANSACTIONTYPECODE,TT.TRANSACTIONTYPEDESC DESCRIPTION,
SUM (NVL (CASE tt.transactiontypecode
WHEN 'LOAD_ACH'
THEN th.transactionamount
END, 0)
) AS load_ach,
SUM
(NVL (CASE tt.transactiontypecode
WHEN 'FUND_TRANSFER_RECEIVED'
THEN th.transactionamount
END,
0
) AS Transfersin,
( SUM (NVL (CASE tt.transactiontypecode
WHEN 'FTRNS'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'SEND_MONEY'
THEN th.transactionamount
END, 0)
)) AS Transferout,
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_ACH'
THEN th.transactionamount
END, 0)
) AS withdrawal_ach,
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK'
THEN th.transactionamount
END, 0)
) AS withdrawal_check,
( SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK_FEE'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'REJECTED_ACH_LOAD_FEE'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_ACH_REV'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK_REV'
THEN th.transactionamount
END,
0
) +
SUM
(NVL (CASE tt.transactiontypecode
WHEN 'WITHDRAWAL_CHECK_FEE_REV'
THEN th.transactionamount
END,
0
) +
SUM
(NVL (CASE tt.transactiontypecode
WHEN 'REJECTED_ACH_LOAD_FEE_REV'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'OVERDRAFT_FEE_REV'
THEN th.transactionamount
END, 0)
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'STOP_CHECK_FEE_REV'
THEN th.transactionamount
END,
0
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'LOAD_ACH_REV'
THEN th.transactionamount
END, 0)
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'OVERDRAFT_FEE'
THEN th.transactionamount
END, 0)
) +
SUM (NVL (CASE tt.transactiontypecode
WHEN 'STOP_CHECK_FEE'
THEN th.transactionamount
END, 0)
)) AS Fee,
th.transactiondatetime
FROM carddetail cd,
transactionhistory th,
transactiontype tt,
(SELECT rmx_a.cardid, rmx_a.endingbalance prev_balance, rmx_a.NUMBEROFDAYS
FROM rmxactbalreport rmx_a,
(SELECT cardid, MAX (reportdate) reportdate
FROM rmxactbalreport
GROUP BY cardid) rmx_b
WHERE rmx_a.cardid = rmx_b.cardid AND rmx_a.reportdate = rmx_b.reportdate) a
WHERE th.transactiontypeid = tt.transactiontypeid
AND cd.cardid = th.cardid
AND cd.cardtype = 'P'
AND cd.cardid = a.cardid (+)
AND CD.CARDNO = '7116734387812758335'
--AND TT.TRANSACTIONTYPECODE = 'FUND_TRANSFER_RECEIVED'
GROUP BY cd.cardid, cd.cardno, numberofdays,th.transactiondatetime,tt.transactiontypecode,TT.TRANSACTIONTYPEDESC
Ouput of the above query is :
CARDID CARDNO TRANSACTIONTYPECODE DESCRIPTION LOAD_ACH TRANSFERSIN TRANSFEROUT WITHDRAWAL_ACH WITHDRAWAL_CHECK FEE TRANSACTIONDATETIME
6005 7116734387812758335 FUND_TRANSFER_RECEIVED Fund Transfer Received 0 3.75 0 0 0 0 21/09/2007 11:15:38 AM
6005 7116734387812758335 FUND_TRANSFER_RECEIVED Fund Transfer Received 0 272 0 0 0 0 05/10/2007 9:12:37 AM
6005 7116734387812758335 WITHDRAWAL_ACH Withdraw Funds via ACH 0 0 0 300 0 0 24/10/2007 3:43:54 PM
6005 7116734387812758335 SEND_MONEY Fund Transfer Sent 0 0 1 0 0 0 19/09/2007 1:17:48 PM
6005 7116734387812758335 FUND_TRANSFER_RECEIVED Fund Transfer Received 0 1 0 0 0 0 18/09/2007 7:25:23 PM
6005 7116734387812758335 LOAD_ACH Prepaid Deposit via ACH 300 0 0 0 0 0 02/10/2007 3:00:00 AM
I want the output like for Load_ACH there should be one record etc.,
Can any one help me , how can i rewrite the above query using analytical functions .,
SekharNot sure of your requirements but this mayhelp reduce your code;
<untested>
SUM (
CASE
WHEN tt.transactiontypecode IN
('WITHDRAWAL_CHECK_FEE', 'REJECTED_ACH_LOAD_FEE', 'WITHDRAWAL_ACH_REV', 'WITHDRAWAL_CHECK_REV',
'WITHDRAWAL_CHECK_FEE_REV', 'REJECTED_ACH_LOAD_FEE_REV', 'OVERDRAFT_FEE_REV','STOP_CHECK_FEE_REV',
'LOAD_ACH_REV', 'OVERDRAFT_FEE', 'STOP_CHECK_FEE')
THEN th.transactionamount
ELSE 0) feeAlso, you might want to edit your post and use [pre] and [/pre] tags around your code for formatting. -
Using the client result cache without the query result cache
I have constructed a client in C# using ODP.NET to connect to an Oracle database and want to perform client result caching for some of my queries.
This is done using a result_cache hint in the query.
select /*+ result_cache */ * from table
As far as I can tell query result caching on the server is done using the same hint, so I was wondering if there was any way to differentiate between the two? I want the query results to be cached on the client, but not on the server.
The only way I have found to do this is to disable all caching on the server, but I don't want to do this as I want to use the server cache for PL/SQL function results.
Thanks.e3a934c9-c4c2-4c80-b032-d61d415efd4f wrote:
I have constructed a client in C# using ODP.NET to connect to an Oracle database and want to perform client result caching for some of my queries.
This is done using a result_cache hint in the query.
select /*+ result_cache */ * from table
As far as I can tell query result caching on the server is done using the same hint, so I was wondering if there was any way to differentiate between the two? I want the query results to be cached on the client, but not on the server.
The only way I have found to do this is to disable all caching on the server, but I don't want to do this as I want to use the server cache for PL/SQL function results.
Thanks.
You haven't provided ANY information about how you configured the result cache. Different parameters are used for configuring the client versus the server result cache so you need to post what, if anything, you configured.
Post the code you executed when you set the 'client_result_cache_lag' and 'client_result_cache_size' parameters so we can see what values you used. Also post the results of querying those parameters after you set them that show that they really are set.
You also need to post your app code that shows that you are using the OCI statements are used when you want to use client side result cacheing.
See the OCI dev guide
http://docs.oracle.com/cd/B28359_01/appdev.111/b28395/oci10new.htm#sthref1491
Statement Caching in OCI
Statement caching refers to the feature that provides and manages a cache of statements for each session. In the server, it means that cursors are ready to be used without the need to parse the statement again. Statement caching can be used with connection pooling and with session pooling, and will improve performance and scalability. It can be used without session pooling as well. The OCI calls that implement statement caching are:
OCIStmtPrepare2()
OCIStmtRelease() -
How can I export the query result into access(*.mdb) file?
Dear all:
I want to export the query result displayed in jsp into excel file
and access file. And I have exported the result into excel format successfully, only one line should be added in the head of Jsp:
<%@ page contentType="application/vnd.ms-excel; charset=gb2312" %>
But how can I export it in access(*.mdb) file? I have replaced "excel"
with "access". But it can't achive my goal.
What should I do to achieve my goal?
Thanks!The only reason your Excel export works is that Excel knows how to interpret comma separated values as an input file format. Access has no such beast.
If you absolutely must provide info in an mdb, one solution would be to create an ODBC datasource pointing to an empty mdb, then push data into it using the jdbc:odbc bridge, then make a copy of the file and stream it down to the browser. You may run into some ugly file locking items here - set the ODBC connection so it is not shared, and that might help.
This one is going to be ugly.
I suppose another approach would be to write a simple VB applicatin that uses automation to create an MDB, then stream that file down to the browser from your servlet. That would almost certainly be faster than the ODBC approach.
- K -
How to find out query name using Elements of the query builder.
Hi SDNers,
how to find out query name using Elements of the query .
thanks,
satyaaHi,
For having a look at the relation between BEx tables,check the link below:
http://wiki.sdn.sap.com/wiki/display/BI/ExploretherelationbetweenBEx+Tables
-Vikram
Maybe you are looking for
-
Can i clone my snowleopard disc from a macbook to a mini
i've got a mac mini, and i'd like to duplicate everything that's on my macbook...can i do this with something like CarbonCopyCloner, or does snowleopard on the mini differ in some way to the macbook version?
-
Supplier Collaboration with SRM Bidding Engine
Hi All, I'm looking at the SAP BIdding Engine with regards to supplier collaboration in the bidding process, my undertsanding is that SUS can be used for a single point of access for suppliers to submit their bids. I also understand that cFolders can
-
None of the selected updates could be installed. You don't have permission
I am trying to update my MacMini from 10.7.3 to 10.7.4 and I am not able to. The user account I am trying to do it from is an admin account. I currently have 4 other updates and I am not able to install any of them and they are listed below. Airpor
-
Distribution and Questionnaire
Hello, We are the students of the University of Dortmund (Germany). We write are at present our thesis (diploma) which is concerned with the distributed workflow management systems. For an evaluation of the concepts we prepared a questionnaire which
-
Advice needed on Apex and oracle context
Hello, I'm facing the next issue: When I log into my Apex application I set a context site_id with a number. I'm wondering if it is needed to set my context on every page or is one time enough? At the moment it is working when I set my context one ti