How to define the condition in the analytic function

Oracle 10g version

Hi all

I have the following data samples:

Examples of data

WITH DATA AS

(

SELECT 100 case_id, next_date, to_date('01-feb-2015','dd-mon-yyyy') UNION double, ALL crt_date to_date('01-jan-2015','dd-mon-yyyy')

SELECT 100 case_id, next_date, to_date('01-mar-2015','dd-mon-yyyy') UNION double, ALL crt_date to_date('01-feb-2015','dd-mon-yyyy')

SELECT 100 case_id, next_date, to_date('01-apr-2015','dd-mon-yyyy') UNION double, ALL crt_date to_date('01-may-2015','dd-mon-yyyy')

SELECT 100 case_id, to_date('01-jun-2015','dd-mon-yyyy') next_date, to_date('01-apr-2015','dd-mon-yyyy') crt_date FROM dual

)

SELECT wagneur, MIN (next_date) OVER (PARTITION BY case_id) min_dt_analytical

,(

SELECT MIN (next_date) DATA dd

WHERE dd.case_id = d.case_id

AND dd.next_date > crt_date

) min_dt_sub_query

DATA d

;

My question is that I get min_dt_sub_query using sub query but I want to use the analytical instead of query sub function so I created min_dt_analytical column, but I do not have how to give the condition that is AND dd.next_date > crt_date analytical so that I can get the same result as min_dt_sub_query data accordingly. Thanks in advance

Concerning

MIT

Do not know if I understood your needs... but... something like that?

WITH DATA AS (SELECT 100 case_id, next_date, to_date('01-feb-2015','dd-mon-yyyy') UNION double, ALL crt_date to_date('01-jan-2015','dd-mon-yyyy')

SELECT the 100 case_id, next_date, to_date('01-mar-2015','dd-mon-yyyy') UNION double, ALL crt_date to_date('01-feb-2015','dd-mon-yyyy')

SELECT the 100 case_id, next_date, to_date('01-apr-2015','dd-mon-yyyy') UNION double, ALL crt_date to_date('01-may-2015','dd-mon-yyyy')

SELECT 100 case_id, next_date, to_date('01-apr-2015','dd-mon-yyyy') double crt_date to_date('01-jun-2015','dd-mon-yyyy'))

SELECT d.

MIN (next_date) OVER (PARTITION BY case_id) min_dt_analytical

MIN(CASE WHEN next_date > crt_date THEN next_date ELSE NULL END) OVER (PARTITION BY case_id) AS min_dt_sub_query2

DATA d;

HTH

Tags: Database

Similar Questions

  • How to define the rules of navigation in faces - config.xml dynamically?

    In jdev 12.1.2 I am studying and performing the adf faces demo (12.1.2 version).

    I am trying to implement the function of navigation like this:

    1. in the navigation tree in the left panel of the accordion will show the features of an application which is read from database tables;

    2. When you click on a node in the navigation tree, a corresponding function/page will be launched in the Panel to the right of the home page;

    3. the navigation tree nodes display names and information pages target will be resident in the database tables and will be read in my case, the control of data bindings.

    and now I know, the click action was executed in this file in the demo: componentGallerySideBarTree.jsff:

    ->action = "#{stamp.actionOutcome}"

    < af:tree id = "tree" value = "#{attrs.menuModel}" var = "stamp" = "single" rowSelection fetchSize = "200" "

    Summary = "#{uploading." Summary}"disclosedRowKeys =" #{attrs.menuModel.foldersTreeState} "autoHeightRows = '0'"

    displayRow selectedRowKeys = "#{attrs.menuModel.selectionState}" = "selected" "

    contentDelivery = 'immediate' emptyText = "there are no demos for this category.

    styleClass = "AFStretchWidth" >

    < f: facet name = "nodeStamp" >

    < af:panelGroupLayout id = "nodePgl" >

    < af:image source = "#{stamp.ico}" styleClass = "GalleryIcon" shortDesc = "Image of a tree node" "

    ID = "nodeImg" / >

    < af:switcher facetName = "#{stamp.children == null?' leaves ': 'notLeaf'}" id = "nodeSw" > "

    < f: facet = "journal batch name" >

    < af:link id = text = "#{stamp.label"leafLink"} '"

    shortDesc = "#{stamp.label} #{stamp.deprecated eq 'real'?" (not recommended) " :"} »

    action = "#{stamp.actionOutcome}"

    inlineStyle = "#{stamp.deprecated eq 'true'?-style: italic; color: gray':"} ' "

    selected = "true" >

    < af:target execute="@this"/ >

    < / af:link >

    < / f: facet >

    < f: facet name = "notLeaf" >

    < af:outputText id = value = "#{stamp.label"notLeafText"} ' shortDesc =" #{stamp.label} "/ >"

    < / f: facet >

    < / af:switcher >

    < / af:panelGroupLayout >

    < / f: facet >

    < / af:tree >

    and the value of actionOutcome was entered in this file DemoConfusedComponentsMenuModel.java:

    (for the case of the confused component navagation tree folder)

    private TreeModel _initConfusedComponents()

    {

    Confused components

    The list < DemoItemNode > confusedComponentsNodes = new ArrayList < DemoItemNode >)

    {

    {

    ..

    Add (new DemoItemNode ("Tabs", "/ confusedComponents/tabs.jspx","/adfdt/panelTabbed.png","confused.tabs"));

    Add (new DemoItemNode ("iterators","/ confusedComponents/iterators.jspx","/adfdt/iterator.png","confused.iterators" ""));

    }

    };

    DemoItemNode confusedComponentsGroup = new DemoItemNode ("Often confused", "/ images/folder.png", confusedComponentsNodes);

    List ConfusedComponentsList = new ArrayList();
    confusedComponentsList.add (confusedComponentsGroup);

    TreeModel confusedComponents = new ChildPropertyTreeModel (confusedComponentsList, _CHILDREN);
    Return confusedComponents;
    }

    In addition, there are elements in faces-config .xml to define the rules of navigation for the actions 'by clicking on the tree node.

    <>navigation-case

    < from outcome >confused.iterators< / de-results >

    < to view - id > /confusedComponents/iterators.jspx< / to-view-id >

    <!-< redirect / >->

    < / navigation-case >

    So, I can add a new entry in the navigation tree, like this:

    1. in DemoConfusedComponentsMenuModel.javaof the file: Add

    Add (new DemoItemNode ("Iterators", "/confusedComponents/cms.jspx","/ adfdt/iterator.png","confused.cms" ""));

    2. in the file faces - config.xml, add:

    <>navigation-case

    < from outcome >confused.cms< / de-results >

    < to view - id > /confusedComponents/cms.jspx< / to-view-id >

    <!-< redirect / >->

    < / navigation-case >

    and it works!- I have successfully added a new node in the navigation tree, called a new page created by myself cms.jspx.

    If I implement them using database tables (links datacontrols EO/VO),.

    I think I can put action = "#{stamp.actionOutcome}" by links.

    But how can I pay the entry in the faces-config file. XML? -That is to say:

    How to define the rules of navigation in faces - config.xml dynamically?

    Thanks in advance!

    ADF 12 c comes with support for JSF 2.0, you can use the implicit navigation feature.

    In short: you don't need to add case action property, any set of navigation in the name of the page (and include the path if necessary).

    In your case, the name of the action will be: ' / confusedComponents/cms.jspx ' and of course, you can link the action property of method that returns this string.

    If you want to add by the case of navigation program, try ConfigurableNavigationHandler.

    For example:

    Manager of ConfigurableNavigationHandler = (ConfigurableNavigationHandler) FacesContext.getCurrentInstance () .getApplication () .getNavigationHandler ();

    handler.getNavigationCases () .put (...);

    Dario

  • How to define the rules of holiday for the purchase of the Oracle?

    Hi all

    How to define the rules of holiday in the Workflow administrator to a particular position?


    Please help me with the screenshots.


    Thanks in advance

    Responsibility: System Administrator

    Navigation: Administrator Workflow-> Administration

    Click on the link "rule of holiday.

  • A question about the analytical function used with the GROUP BY clause in SHORT

    Hi all

    I created the following table named myenterprise
    CITY       STOREID    MONTH_NAME TOTAL_SALES            
    ---------- ---------- ---------- ---------------------- 
    paris      id1        January    1000                   
    paris      id1        March      7000                   
    paris      id1        April      2000                   
    paris      id2        November   2000                   
    paris      id3        January    5000                   
    london     id4        Janaury    3000                   
    london     id4        August     6000                   
    london     id5        September  500                    
    london     id5        November   1000
    If I want to find which is the total sales by city? I'll run the following query
    SELECT city, SUM(total_sales) AS TOTAL_SALES_PER_CITY
    FROM myenterprise
    GROUP BY city
    ORDER BY city, TOTAL_SALES_PER_CITY;
    that works very well and produces the expected result, i.e.
    CITY       TOTAL_SALES_PER_CITY   
    ---------- ---------------------- 
    london     10500                  
    paris      17000            
    Now in one of my books SQL (Mastering Oracle SQL) I found another method by using the SUM, but this time as an analytic function. Here's what the method of the book suggests as an alternative to the problem:
    SELECT city, 
           SUM(SUM(total_sales)) OVER (PARTITION BY city) AS TOTAL_SALES_PER_CITY
    FROM myenterprise
    GROUP BY city
    ORDER BY city, TOTAL_SALES_PER_CITY;
    I know that the analytic functions are executed after the GROUP BY clause has been transformed completely and Unlike regular aggregate functions, they return their result for each line belonging to the partitions specified in the partition clause (if there is a defined partition clause).

    Now my problem is that I do not understand what we have to use two functions SUM? If we only use one only, i.e.
    SELECT city, 
           SUM(total_sales) OVER (PARTITION BY city) AS TOTAL_SALES_PER_CITY
    FROM myenterprise
    GROUP BY city
    ORDER BY city, TOTAL_SALES_PER_CITY;
    This generates the following error:
    Error starting at line 2 in command:
    SELECT city, 
           SUM(total_sales) OVER (PARTITION BY city) AS TOTAL_SALES_PER_CITY
    FROM myenterprise
    GROUP BY city
    ORDER BY city, TOTAL_SALES_PER_CITY
    Error at Command Line:2 Column:11
    Error report:
    SQL Error: ORA-00979: not a GROUP BY expression
    00979. 00000 -  "not a GROUP BY expression"
    *Cause:    
    *Action:
    The error is generated for the line 2 column 11 which is, for the expression SUM (total_sales), well it's true that total_sales does not appear in the GROUP BY clause, but this should not be a problem, it has been used in an analytical function, so it is evaluated after the GROUP BY clause.

    So here's my question:

    Why use SUM (SUM (total_sales)) instead of SUM (total_sales)?


    Thanks in advance!
    :)





    In case you are interested, that's my definition of the table:
    DROP TABLE myenterprise;
    CREATE TABLE myenterprise(
    city VARCHAR2(10), 
    storeid VARCHAR2(10),
    month_name VARCHAR2(10),
    total_sales NUMBER);
    
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('paris', 'id1', 'January', 1000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('paris', 'id1', 'March', 7000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('paris', 'id1', 'April', 2000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('paris', 'id2', 'November', 2000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('paris', 'id3', 'January', 5000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('london', 'id4', 'Janaury', 3000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('london', 'id4', 'August', 6000);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('london', 'id5', 'September', 500);
    INSERT INTO myenterprise(city, storeid, month_name, total_sales)
      VALUES ('london', 'id5', 'November', 1000);
    Edited by: dariyoosh on April 9, 2009 04:51

    It is clear that thet Analytics is reduntant here...
    You can even use AVG or any analytic function...

    SQL> SELECT city,
      2         avg(SUM(total_sales)) OVER (PARTITION BY city) AS TOTAL_SALES_PER_CITY
      3  FROM myenterprise
      4  GROUP BY city
      5  ORDER BY city, TOTAL_SALES_PER_CITY;
    
    CITY       TOTAL_SALES_PER_CITY
    ---------- --------------------
    london                    10500
    paris                     17000
    
  • How to activate the Sleep function to put the computer to sleep if a program is open?

    I have Windows Vista basic on a desktop Dell 530.  I found that if I have a program or application running (such as I-tunes or windows media player) then the Sleep function will not put the computer to sleep.  How to activate the Sleep function to replace these programs and put the computer to sleep?

    Note: This is how it was with windows XP, the Sleep function would put the computer to sleep no matter what was running, he was reliable, if you left the computer and I forgot that you had something running.

    Thanks for your help.

    Hi kevino4130,

    If you disable sharing on your computer (not only the power settings) of media, it should allow him to enter the mode 'sleep'.

    See if that does not solve your problem and let us know.

    Dave D

    Dave D
    Microsoft Answers Support Engineer
    Visit our Microsoft answers feedback Forum and let us know what you think.

  • How to associate the key function on thinkpad T61p

    How to associate the key function on thinkpad__Fn Key__Hibernate mapping of keys for Lenovo Thinkpads

    How to map the keys "Fn F4" on my Thinkpad T61p to keyboard MS Wireless Comfort Keyboard 5000 to Hibernate?

    Your Thinkpad keyboard doesn't have access to the MS Wireless Comfort Keyboard 5000 drivers, firmware and add the functioon of Microsoft for the Thinkpad (and vice versa).

    Here is an article on how to remap the keys in Vista (with a link to a program that will help): http://www.howtogeek.com/howto/windows-vista/map-any-key-to-any-key-on-windows-xp-vista/. I don't know if this works with the function keys, but it's worth a try.

    I hope this helps.

    Good luck!

    Lorien - MCSA/MCSE/network + / has + - if this post solves your problem, please click the 'Mark as answer' or 'Useful' button at the top of this message. Marking a post as answer, or relatively useful, you help others find the answer more quickly.

  • How to use the @accum function in the calculation script

    Dear all.

    I'm new in essbase - calculation script so don't know how to use the @accum function.

    I want the aggregation value of child to parent

    Hierarchy

    Product

    100 > Storage Dimensions marked as stored (marked as intentionally as I want to calculate the value using the calculation script)

    100. 10 (+)

    100-20 (+)

    100-30 (+)

    I'm trying calculation Script

    100 = @Accum (@children("100"), jan: Feb);

    It works when I use below

    100 = @Accum("100-10",Jan:Feb);

    Error:-number of Dimensions [1] does not match number of gen/lev [3] office [@Dim]

    Don't know how I can roll up to an aggregate value of all the members of the child to the parent.

    Error.PNGhierachy.PNG

    you do this more difficult it must be. If you want to accumulate up to 100 then you could just make your calc

    '100 '.

    but that would be only 100, to make the OU any dimension would

    AGG (Product);

    Or better yet

    AGG (Product, Market);

  • How to use the NVL function in decoding?

    Hi all

    How to use the NVL function in decoding?

    SELECT Decode (Sign (sum (nvl (7), 0)-nvl (sum (5), 0)), - 1, 0, (sum (nvl (7), 0)-nvl (sum (5), 0)) QTY)

    of the double

    Thank you

    You should not do that...

    Greatest (NVL (Sum (Quantity), 0)-NVL (SUM (quantity_received), 0), 0) AS qty_arrival

    will do the same

    HTH

  • How to access the dehaze function in Photoshop?

    How to access the dehaze function in Photoshop CC? This is supposed to be present in the new versions of Lightroom and Photoshop. I see it in Lightroom, but it cannot fine in Photoshop. Thank you.

    It is in camera raw.

  • How to call the java function with javascript setting in mobile adf?

    How to call the java function with javascript setting in mobile adf?

    The ADF Mobile utility container API can be used from JavaScript or Java.

    Application container API - 11 g Release 2 (11.1.2.4.0)

  • SQL using the analytic function


    Hi all

    I want a help in the creation of my SQL query to retrieve the data described below:

    I have a test of sample table containing data as below:

    State ID Desc

    MICHAEL 1 T1

    ACTIVE 2 T2

    T3 3 SUCCESS

    DISABLE THE T4 4

    The thing I want to do is to select all the lines with an ACTIVE status in the table but is there is no ACTIVE status, my request will give me the last line with MICHAEL status.

    I can do this in a single request by using the analytical function for example, if yes can yiu help me on the request of unpacking.

    Kind regards

    Raluce

    Something like that?

    I had to fix it.

    with testdata until)
    Select 1 id, "T1" dsc "DISABLED" status of Union double all the
    Select 2 id, 'T2' dsc, the status "ACTIVE" of all the double union
    Select id 3, "T3" dsc, the status of 'SUCCESS' of all the double union
    Select 4 id, "T4" dsc "DISABLED" status of double
    )

    Select
    ID
    dsc
    status
    of testdata
    where
    status =
    -case when (select count (*) in testdata where status = 'ACTIVE') > 0
    then 'ACTIVE '.
    Another 'DISABLED '.
    end
    and)
    ID in (select id from testdata where status = ' ACTIVE')
    or
    ID = (select max (id) in testdata when status = 'DISABLED')
    )

    STATE ID DSC

    '2' 'T2' 'ACTIVE '.

    Maybe it's more efficient

    Select
    ID
    dsc
    status
    of testdata
    where
    status =
    -case when (select count (*) in testdata where status = 'ACTIVE') > 0
    then 'ACTIVE '.
    Another 'DISABLED '.
    end
    and
    ID =)
    -case when (select count (*) in testdata where status = 'ACTIVE') > 0
    then id
    on the other
    (select max (id) in testdata when status = 'DISABLED')
    end
    )

    Post edited by: correction of chris227

    Post edited by: chris227
    extended

  • How to activate the search function.  I get no match found when I search for words on the scanned PDF document

    How to activate the search function.  I get no match found when I search for words on the scanned PDF document

    A scanned document is just an image; even if it contains text, it is not searchable.

    Put text in a scanned image available, you will need to perform the recognition of text (OCR), which can be made with Acrobat, but not the free player.

  • Oracle: how to use the max() function in expression box

    How to use the max() function in the case where expression, please explain with an example

    Hope this helps and should be explicit

    with t as
    (select 1 col,100 col2 from dual union
    select 2 ,100 from dual union
    select 2 ,200 from dual union
    select 3,100  from dual union
    select 3,200  from dual  )
    select col, case when max(col2)=100 then 'with 100 range'
    when  max(col2)=200 then 'with 200 range' end  from t group by col
    
  • How to use the goto function?

    How to use the goto function in indesign javascript?

    my script begins by chekcing if the input files are present or not... If one of the input files is not present, I want the n function put an end to the operation in the display of the message tht file exists... I was wondering to use goto for tht... then how to use it? or is there an alternative to that?

    GoTo is generally frowned upon by the programmers.

    The only legitimate use of goto is when you need to escape from a nested loop.

    If you need to jump into a routine, use break or simply in return from the current function.

    The model currently used by the SDK looks like this:

    do
    {
         if(condition1 == false)
              break;
         if(condition2 == false)
              break;
         if(condition3 == false)
              break;
         doSomethingReallyCool();
    }while(false);
    

    'break' the jumps at the end of the do / while loop that always comes out when you reach the end of it (while (false))

    Substances

  • How to call the javascript function in ADF

    I have the javascript function stored in a .js file external (try to reuse in another application). How can call the javascript function for an event of ADF faces component. I need to I am a newbie to ADF, all ideas are appreciated.

    Kind regards
    Surya

    Published by: sgodavar on Sep 24, 2010 11:44

    Include JavaScript to the jsff/jspx as page:

    Call it like:

    Type = "dblClick" / >
    Amit

  • How to use the TRUNC function with dates in the expression builder in OBIEE.

    Hello
    How to use the TRUNC function with dates in the expression builder in OBIEE.
    TRUNC (SYSDATE, 'MM') returns 1 July 2010"where sysdate is July 15, 2010 ' in SQL. I need to use the same in the expression builder in the logical layer mdb column.


    Thanks in advance

    Use it instead:
    TIMESTAMPADD (SQL_TSI_DAY, (DAYOFMONTH (CURRENT_DATE) *-1) + 1, CURRENT_DATE)

Maybe you are looking for