First/Last in a group by

Hi !
I have a table with session_ids, url a user visited and the time the did it.
I need output pr. session_id
Session id, durtaion of the session, the first page he visted, the last page he visited
I have tried a lot with first_value, last_value, first/last in various analytic functions, but my head cant seem to find the correct solution.
(aprt from coding it in PL/SQL)
This is an example of my table:
drop table mette_interval;
create table mette_interval (session_i number, url varchar2(400), url_time date);
insert into mette_interval values (1, 'start page', sysdate);
insert into mette_interval values (1, 'xxxxside z', sysdate+interval '5' second);
insert into mette_interval values (1, 'end pagexxxxxside z', sysdate+interval '6' second);
insert into mette_interval values (2, 'page xxx z',sysdate+interval '0' second);
insert into mette_interval values (2, 'page yyyy z', sysdate+interval '10' second);
insert into mette_interval values (3, 'page whatever z', sysdate+interval '1' second);
select session_i, (max(url_time)-min(url_time))*24*60*60 duration
from mette_interval
group by session_i;
Can you give me a hint?
Regards
Mette

SQL> select * from mette_interval;
SESSION_I URL                  URL_TIME
         1 start page           24-MAR-09
         1 xxxxside z           24-MAR-09
         1 end pagexxxxxside z  24-MAR-09
         2 page xxx z           24-MAR-09
         2 page yyyy z          24-MAR-09
         3 page whatever z      24-MAR-09
6 rows selected.
SQL> select session_i,(max(url_time)-min(url_time))*24*60*60 duration,
  2        max(url) keep(dense_rank first order by url_time) frst,
  3        max(url) keep(dense_rank last order by url_time) lst
  4   from mette_interval
  5   group by session_i;
SESSION_I   DURATION FRST                 LST
         1          6 start page           end pagexxxxxside z
         2         10 page xxx z           page yyyy z
         3          0 page whatever z      page whatever zToo Late...
Edited by: jeneesh on Mar 24, 2009 12:38 PM

Similar Messages

  • Select first and last records in grouped results - Oracle 11g

    Say I have the following information in an Oracle 11g table:
    Qty
    Production order
    Date and time
    20
    00000000000000001
    12-JAN-14 00:02
    20
    00000000000000001
    12-JAN-14 00:05
    20
    00000000000000001
    12-JAN-14 00:07
    20
    00000000000000001
    13-JAN-14 00:09
    30
    00000000000000002
    12-JAN-14 00:11
    30
    00000000000000002
    12-JAN-14 00:15
    30
    00000000000000002
    12-JAN-14 00:20
    30
    00000000000000002
    14-JAN-14 00:29
    I would like to write a query that would return the following:
    Qty
    Production order
    First
    Last
    80
    00000000000000001
    12-JAN-14 00:02
    13-JAN-14 00:09
    120
    00000000000000002
    12-JAN-14 00:11
    14-JAN-14 00:29
    That is, the sum of the Qty column grouped by Production order, and the date/time of the first and last records for each Production order.
    I came up with a query that yielded this result:
    Qty
    Production order
    First
    Last
    80
    00000000000000001
    12-JAN-14 00:02
    14-JAN-14 00:29
    120
    00000000000000002
    12-JAN-14 00:02
    14-JAN-14 00:29
    Which means that the First and Last columns show the overall first and last date / time of the whole table. Please note that this is a dummy table. Sorry I am now allowed to write the actual query
    I came up with since work policies do not allow me to share it. Also, I tried with windowing functions such as rank()and row_number() but my user does not have enough privileges to do so.
    Any help or hints will be greatly appreciated.

    Due to the fact that Oracle does not record the rows in any particular order, it would be wrong that the "first date" would be the first row processed by the query.
    Therefore you would have to supply some other column if you do not want to consider the table as ordered by date.
    Also, any analytical functions will need you to supply the "order by" and if its the date, then just a simple query will do:
    SQL>WITH Tab1 (Qty, Production_Order, Pdate)
      2       AS (SELECT 20, '00000000000000001', TO_DATE ( '12-JAN-14 00:02', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      3           SELECT 20, '00000000000000001', TO_DATE ( '12-JAN-14 00:05', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      4           SELECT 20, '00000000000000001', TO_DATE ( '12-JAN-14 00:07', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      5           SELECT 20, '00000000000000001', TO_DATE ( '13-JAN-14 00:09', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      6           SELECT 30, '00000000000000002', TO_DATE ( '12-JAN-14 00:11', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      7           SELECT 30, '00000000000000002', TO_DATE ( '12-JAN-14 00:15', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      8           SELECT 30, '00000000000000002', TO_DATE ( '12-JAN-14 00:20', 'DD-MON-YY HH24:MI') FROM DUAL UNION ALL
      9           SELECT 30, '00000000000000002', TO_DATE ( '14-JAN-14 00:29', 'DD-MON-YY HH24:MI') FROM DUAL)
    10  SELECT   SUM ( Qty), Production_Order, MIN ( Pdate), MAX ( Pdate)
    11      FROM Tab1
    12  GROUP BY Production_Order
    13* ORDER BY Production_Order
    SQL> /
      SUM(QTY) PRODUCTION_ORDER     MIN(PDATE)                    MAX(PDATE)
            80 00000000000000001    12-Jan-2014 00:02:00          13-Jan-2014 00:09:00
           120 00000000000000002    12-Jan-2014 00:11:00          14-Jan-2014 00:29:00

  • Displaing First/Last user name, typed by Russian in GW Address Book

    The GW Gateway for Exchange with directory exchange and sync enabled
    creates contacts on Exchange side, no problem. But I have First/Last user
    name,
    typed by Russian. After the directory exchange I can see undefined symbols
    in First/Last Name
    in Groupwise Address Book
    Also I have a problem with formatting contacts in Exchange Address Book.
    The contact is formatted as "FirstName LastName",
    as discussed
    http://forums.novell.com/group/novel...wise.7x.other-
    gateways/readerNoFrame.tpt/@thread@1011@F@10@D-,D@+980+984/@article@984
    Thanks.
    Alexey

    I am working with a number of issues with Novell on Cyrillic chars
    being displayed. Would you please try the SP2 beta client before I
    start to work though this one with Novell. Thanks
    On Fri, 02 Mar 2007 15:34:35 GMT, [email protected] wrote:
    >The GW Gateway for Exchange with directory exchange and sync enabled
    >creates contacts on Exchange side, no problem. But I have First/Last user
    >name,
    >typed by Russian. After the directory exchange I can see undefined symbols
    >in First/Last Name
    >in Groupwise Address Book
    >Also I have a problem with formatting contacts in Exchange Address Book.
    >The contact is formatted as "FirstName LastName",
    >as discussed
    >http://forums.novell.com/group/novel...wise.7x.other-
    >gateways/readerNoFrame.tpt/@thread@1011@F@10@D-,D@+980+984/@article@984
    >
    >Thanks.
    >
    >Alexey
    Tim
    Tim Heywood (SYSOP)
    NDS8
    Scotland
    (God's Country)
    www.nds8.co.uk
    In theory, practice and theory are the same
    In Practice, they are different

  • Please read my question carefully, this is, I think, a question for the experts. It's not the usual name change question.   When I setup my new MacBook Pro, something slipped by me and my computer was named First-Lasts-MacBook-Pro (using my real first and

    Please read my question carefully, this is, I think, a question for the experts. It's not the usual name change question.
    When I setup my new MacBook Pro, something slipped by me and my computer was named First-Lasts-MacBook-Pro (using my real first and last name).
    I changed the computer name in Preferences/Sharing to a new name and Preferences/Accounts to just be Mike. I can right click on my account name, choose advanced, and see that everything looks right.
    However, If I do a scan of my network with my iPhone using the free version of IP Scanner, it lists my computer as First-Lasts-MacBook-Pro! And it lists the user as First-Last.
    So even though another Mac just sees my new computer name, and my home folder is Mike, somewhere in the system the original setup with my full name is still stored. And it's available on a network scan. So my full name might show up at a coffee shop.
    Can I fully change the name without doing a complete re-install of Lion and all my apps?

    One thought... you said the iPhone displayed your computer's old name? I think that you must have used the iPhone with this computer before you changed the name. So no one else's iPhone should display your full name unless that iPhone had previously connected to your Mac. For example, I did this exact same change, and I use the Keynote Remote app to connect with my MacBook Pro. It would no longer link with my MacBook Pro under the old name, and I found that I had to unlink and then create a new link under the new name. So the answer to your question is, there is nothing you need to do on the Mac, but rather the phone, and no other phone will display your full name.

  • In address book how do I move all cards from my 'last import' smart group into a new group?

    In Address Book, how do I move all cards from my 'last import' smart group into a new group that I will create? So far I am not being allowed to Edit Smart Group!
    Thank you x

    Simon
    You’re going to have a very big problem and very soon. These missing pics are the beginning of trouble.
    the total size of all my folders on my 60gb internal drive is 46.5 gb, yet only 1.9 gb is available,
    OS X needs about 10 gigs of free space on the hard drive for normal OS operations such as virtual memory and temporary files. Without this space the machine slows down as the OS hunts for free space, files become fragmented and applications begin to crash. The risk of data corruption increases exponentially.
    You must, as a matter of urgency, make space on the drive. I cannot stress this enough.
    You may be able to recover the pics from your camera card using an app such as MediaRecover
    Regards
    TD

  • Getting the first row for each group

    Hi Everyone,
    I have a query which returns a number of rows, all of which are valid. What I need to do is to get the first row for each group and work with those records.
    For example ...
    client flight startairport destairport stops
    A fl123 LGW BKK 2
    A fl124 LHR BKK 5
    B fl432 LGW XYZ 7
    B fl432 MAN ABC 8
    .... etc.
    I would need to return one row for Client A and one row for Client B (etc.) but find that I can't use the MIN function because it would return the MIN value for each column (i.e. mix up the rows). I also can use the rownum=1 because this would only return one row rather than one row per group (i.e. per client).
    I have been investigating and most postings seem to say that it needs a second query to look up the first row for each grouping. This is a solution which would not really be practical because my query is already quite complex and incorporating duplicate subqueries would just make the whole thing much to cumbersome.
    So what I really new is a "MIN by group" or a "TOP by group" or a "ROWNUM=1 by group" function.
    Can anyone help me with this? I'm sure that there must be a command to handle this.
    Regards and any thanks,
    Alan Searle
    Cologne, Germany

    Something like this:
    select *
    from (
       select table1.*
       row_number() over (partition by col1, col2 order by col3, col4) rn
       from table1
    where rn = 1In the "partition by" clause you place what you normally would "group by".
    In the "order by" clause you define which will have row_number = 1.
    Edit:
    PS. The [url http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/functions004.htm#i81407]docs have more examples on using analytical functions ;-)
    Edited by: Kim Berg Hansen on Sep 16, 2011 10:46 AM

  • My address book in v. 32.0 will not sort properly e.g. by first, last, etc.; how can I correct this?

    My address book has 106 names. I have selected for an ascending-sort by display name. But it will not fully sort that way; instead, the names appear as batches, within each of which the sort is (mostly) correct. When I click on Name at the top, the sort toggles between ascending and descending, as expected, but the change occurs within each of the seeming batches rather than overall. Also, it seems that in 1 or more batch, the name displayed is not what I have chosen, e.g. first, last or display.
    In other words, displayed is one long list of names but it's really sets of names, that are treated as such. I want them all to be in one "set" and correctly sortable as such.

    I also have this problem sorting my address book which did not occur until I updated to Version 32.0. I will go back to version 31 but v32 needs to have someone look at the sort module and make corrections.

  • Urgent: Formular question: get first/last month value with qty value

    We've got a query result as the following:
    Jan_2007 -- Feb_2007 -- Mar_2007 -- Apr_2007
    0 --- 54 --- 0 --- 3
    23 ---0 --- 12 --- 7
    In the above query result,
    1st row shows the sales quantity in Jan_2007 is 0, in Feb_2007 is 54, in Mar_2007 is 0, and in Apr_2007 is 3.
    2nd row shows the sales quantity in Jan_2007 is 23, in Feb_2007 is 0, in Mar_2007 is 12, and in Apr_2007 is 7.
    We would like to add a new column to get the first/last month value with quantity, e.g., in 1st row, the 1st month value with quantity value (>0) is Feb_2007, and the last month value with quantity value (>0) is Apr_2007. Therefore the 1st month value with qty is Feb_2007 and the last month value with qty is Apr_2007. In 2nd row, the first month value with qty is Jan_2007 and the last month value with qty is Apr_2007. But how to use formular to get the 1st/last month values with qty?
    We will give you reward points!

    Hello Kevin,  
    You can create forumula using [Boolean Operator|http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm]
    IF<Logic Expression> THEN <Expression1> ELSE <Expression2> can also be made using a formula in the form
    You can also use the [AND, OR Logical operators |http://help.sap.com/saphelp_nw04/helpdata/en/23/17f13a2f160f28e10000000a114084/content.htm]to check all the keyfigure columns.
    Thanks
    Chandran

  • Suppressing the first fields in a group

    Post Author: jrock
    CA Forum: Formula
    Is there a way to use the onfirstrecord function in the field suppress formula?  I have a few fields that calculate and I do not want the first ones in the group calculating negative entries.  I thought about <=0 as an option, but I do not want to suppress entries that are not on the first line of the group.

    Post Author: bettername
    CA Forum: Formula
    In group header, create a formula that initialises a variable:
    whileprintingrecords;
    numbervar x:=0
    In the details section, place a formuila that increments the variable:
    whileprintingrecords;
    numbervar x:=x+1
    Now conditionally suppress the details section/field (or use in your summarizing formula) using:
    numbervar x<=3 //will suppress when in the first three rows in the group.
    Bear in mind that this will not affect auto-generated group summaries, it'll only hid the section/field where it's in the first three lines.  You'll probably have to write your own group summary formula/running total if you don't want to include the first (x) lines in the total.
    That would look like (suppress everything but the group footer formula):
    In Group header:
    whileprintingrecords;
    numbervar x:=0;
    numbervar total:=0;
    In details/whatnot:
    whileprintingrecords;
    numbervar x:=x+1;
    if x>3 then numbervar total:=total+
    In Group footer:
    whileprintingrecords;
    numbervar total;

  • Remove First & Last Name Validation in Get Support

    Hi All,
       I have enabled the self management of password for portal users. I have to remove the First & Last Name validation  and make it optional, I have also made (ume.logon.logon_help.name_required = false)  in configtool and taken the restart of the server, but still it is validating the names.
    If anyone have removed the validation for the above, can help me.
    Thanks in advance.
    Regards
    Ponnusamy

    Hi Ponnuswamy,
    the right place to remove the validation is the par file of the login page.
    Get the par file from the portal. unzip the par file.
    under the PORTAL-INF\lib u will find the umelogonbase.jar
    Extrat the jar. get the java file named
    SAPMLogonLogic.java.
    Modify the piece of code in the java file.
    private void performForgotPassword()
            throws IOException, UMException, FeatureNotAvailableException {
            String methodname = "performForgotPassword";
            if (trace.bePath()) {
                trace.entering(methodname);
            try {
                String longUid = this.proxy.getRequestParameter(LogonBean.LONGUID);
                if (longUid != null) {
                    longUid = longUid.trim();
                // check for email id
                String email = this.proxy.getRequestParameter("email");
                String lastName = this.proxy.getRequestParameter("lastname");
                String firstName = this.proxy.getRequestParameter("firstname");
                String noteToAdmin = this.proxy.getRequestParameter("notetoadmin");
                IUser userFrom = UMFactory.getUserFactory().getUserByLogonID(longUid);
                if (email.equalsIgnoreCase(userFrom.getEmail()) &&
                        firstName.equalsIgnoreCase(userFrom.getFirstName()) &&
                        lastName.equalsIgnoreCase(userFrom.getLastName())) {
                    // email matched, assign a new password and email to user
                    String newPass = UMFactory.getSecurityPolicy().generatePassword();
                    IUserAccount ua = UMFactory.getUserAccountFactory()
                                                       .getMutableUserAccount(longUid);
                    ua.setPassword(newPass);
                    ua.save();
                    ua.commit();
    this is the original coding.
    remove the check for last name and first name in that
      if (email.equalsIgnoreCase(userFrom.getEmail()) &&
                        firstName.equalsIgnoreCase(userFrom.getFirstName()) &&
                        lastName.equalsIgnoreCase(userFrom.getLastName()))
    complie the java file. get the class and store it in the umelogonbase.jar . put the jar back in the original place. deploy the par.
    u will get the desire result.
    cheers,
    Sithi

  • Contacts first & Last name

    Good day,
        Can anyone help in switching my contacts in X3 from last - first display to First - Last Display.
    Thanks

    I am not sure what you mean. If you mean Last name/first name to First name/Last name Go into contacts>options>Settings>Name display and set according to your needs. There are three options there.

  • How to break first,last name from rows to columns?

    drop table t1;
    create table t1
    (c1 varchar2(100)
    insert into t1
    values(' <First Name >david </First Name>');
    insert into t1
    values(' <Last Name > smith </Last Name >');
    insert into t1
    values(' <First Name >Harry </First Name >');
    insert into t1
    values('<Last Name > Bird </Last Name >');
    select * from t1;
    C1
    <First Name >david </First Name>
    <Last Name > smith </Last Name >
    <First Name >Harry </First Name >
    <Last Name > Bird </Last Name >
    4 rows selected.
    out put should be
    First Last
    David Smith
    Harry Bird
    Thanks

    If homework I'd probably be looking at the string manipulation functions. If a real application I'd be looking at a different table design, and given that these look like xml tags that are or should be defined in a schema, using XMLDB.
    Niall Litchfield
    http://www.orawin.info/
    drop table t1;
    create table t1
    (c1 varchar2(100)
    nsert into t1
    values(' <First Name >david </First Name>');
    insert into t1
    values(' <Last Name > smith </Last Name >');
    insert into t1
    values(' <First Name >Harry </First Name >');
    insert into t1
    values('<Last Name > Bird </Last Name >');
    select * from t1;
    C1
    <First Name >david </First Name>
    <Last Name > smith </Last Name >
    <First Name >Harry </First Name >
    <Last Name > Bird </Last Name >
    4 rows selected.
    out put should be
    First Last
    David Smith
    Harry Bird
    Thanks

  • Display first last name ecord

    source schema like 
    <ns0:empdetails xmlns:ns0="http://BizTalk_Server_Project3.Schema1">
      <employee>
        <FirstNmae>Kapil</FirstNmae>
        <lastname_x0020_></lastname_x0020_>
      </employee>
      <employee>
        <Firstname>Kiran</Firstname>
        <Lastname>Kumar</Lastname>
      </employee>
      <employee>
        <Firstname>Naresh</Firstname>
        <lastname>Kumar</lastname>
      </employee>
     </ns0:empdetails>
    destination will be 
    <employee>
        <Firstname>Kiran</Firstname>
        <Lastname>Kumar</Lastname>
      </employee>
    the first last name record should come and igoner another records if contains last name or not .

    You can acheieve this using Scripting functoid ( Script Type "Inline XSLT Call Template"). Refer to below XSLT script to use. Map output from this scripting functoid to destination node. 
    <xsl:template name="Employee">
    <xsl:if test="boolean(/*[local-name()='empdetails' and namespace-uri()='http://BizTalk_Server_Project3.Schema1'] /*[local-name()='employee' and namespace-uri()=''][lastname!= ''])">
    <employee>
    <Firstname>
    <xsl:value-of select="/*[local-name()='empdetails' and namespace-uri()='http://BizTalk_Server_Project3.Schema1'] /*[local-name()='employee' and namespace-uri()=''][lastname!= ''][1] /*[local-name()='Firstname' and namespace-uri()='']"/>
    </Firstname>
    <Lastname>
    <xsl:value-of select="/*[local-name()='empdetails' and namespace-uri()='http://BizTalk_Server_Project3.Schema1'] /*[local-name()='employee' and namespace-uri()=''][lastname!= ''][1] /*[local-name()='lastname' and namespace-uri()='']"/>
    </Lastname>
    </employee>
    </xsl:if>
    </xsl:template>
    Thanks,
    Pavan
    MCTS-Microsoft Biztalk Windows Server 2010

  • Column header sorting: NULLS first/last

    Column header sorting doesnt seem to support the NULLS FIRST /LAST feature of the SQL ORDER BY clause.
    So, if my data has nulls in it, I cant control where they appear when I click on the column header to sort it.
    Is this added to the upcoming 2.0 version?
    Thanks

    Same question over here: in the J2EE app that I'm rebuilding with Apex, we use NULLS last in all pages, wether order is descending or ascending.
    Is 'nulls first/last' supported in any way now?
    Are there workarounds to achieve this?
    Thanks,
    Toon Koppelaars

  • First,last next previous,save, delete,execute,find.

    experts,
    am using jdev 11.1.1.4.0
    in jdeveloper has buttons like such as first,last next previous,save, delete,execute,find.
    what my question is?
    is it possible to do this?
    i don't want these buttons,
    instead of the buttons -- i needed icons. for doing same operation.
    for explaination,
    let us, take an eg:
    In jdeveloper we do some changes in designing or may coding part.
    after then, our hand moves to save these changes.so press save icons to save all of them.
    this is my point.
    when the user make all entry in my ui.he want to save the datas by not pressing buttons. by pressing save icons. (i.e) floppy disk icons. in our tool bar
    i want that save icons instead of save button doing same operation.
    like wise
    i want these operation undo ,redo,first,last,next.previous. not in button. only icons. do these operations.
    if it's possible can one show the way.
    r else paste link
    how to do this?
    Edited by: subu123 on Jul 25, 2011 2:40 AM
    Edited by: subu123 on Jul 25, 2011 2:48 AM

    Hi,
    In our application we use the "af:commandToolbarButton" component but instead of the "text" property you use the "icon" and "disabledIcon" properties.
    <af:commandToolbarButton shortDesc="the tooltip"
                                         id="button
                                         actionListener="#{yourAction}"
                                         icon="/images/yourIcon.png"
                                         disabledIcon="/images/yourDisabledIcon.png"/>
    </af:commandToolbarButton>Gabriel.

Maybe you are looking for

  • ITunes no longer finds my Apple TV.

    I'm running ver. 10.6.3.25 of iTunes on my Win 7 computer.  I have a 1st Gen Apple TV.  My iTunes is no longer finding my Apple TV, and has not for several updates now. My ATV is connected to the network, I can find YouTube and the store just fine. I

  • Error message when trying to access iCal

    I just installed Leopard Server & performed all the updates on my G5 tower. When I try to access the calendar from a browser on the server or a computer on the network I get the following error... Error from the server: Error processing calendar data

  • Printing Serial numbers in a script.

    Hi friends, I want to print serial number for the line items in the main window of a script, Please help me regarding this, if possible give me the sample code. I want to print like this sl.no.   material no. 1.        100-100 2.        100-101 thank

  • Standard print form for Quality Notificationwith Digital Signature

    Hi All, Can anyone suggest me standard Print Form available for Quality Notifications with Digital Signature? Thanking you in anticipation of help. Regards, Devang

  • Safari Keeps Crashing After Opening

    I was recently using Safari when my battery died and the whole screen went black. When I plugged the computer back in and tried to re-open Safari the browser would open for a few seconds, not connect to any websites, and then crash and give me the pr