Most recent date from a colum, group by numbers.

I want to get the most recent 3 dates from a colum group by account numbers.
for a account number what are my 3 recent dates. i only need to see the 3 recent dates. for e.g
Account_number DATE
1011001002117010     010607
1011001002117010     010507
1011001002117010     300307
1011001002117010     010307
1011001009077015     010607
1011001009077015     010507
1011001009077015     300307
1011001009077015     010307
i want to pick up the 3 recent date from the date column
( 01/06/07,01/05/07,30/03/07 ) for both the account number.
Please help me with how do i get that using a select statement.
Thanks in advance
ahmed

Hi,
Use the following query. This may probably help.
select account_number, date
from
(select account_number, date, row_number() over (partition by account_number order by date desc) rn
from <your_table_name>)
where rn <= 3;
Regards,
MAK
Message was edited by:
user545088

Similar Messages

  • How to determine most recent date from the date column of internal table

    Dear friends
    would you like to tell me. how i determine the most recently changed record by looking at date and time from internal table i am not supposed to sort the table by date and time... I must check date and time with other records date and time to determine which record is most recently changed...
    here the scenario is.
    id idnumber chdate chtime
    1 123456 20060606 135312
    2 123456 20060606 135900
    3 123456 20060606 132300
    4 123457 20060606 140000
    5 123457 20060606 142500
    in the above scenario i must keep in my mind that the most recently changed record is identical to its idnumber i can say that:
    the record should be fetched this way
    id idnumber chdate chtime
    3 123456 20060606 132300
    5 123457 20060606 142500
    because here the id 3 is the most recently changed in the idnumber 123456
    where id 5 is the most recently changed in the idnumber 123457
    please help me to determin how i am supposed to carry out this task any suggestion, code will be great help of mine.
    regards
    Naim

    After testing my suggestion above, I realized that it doesn't work because the delete adjacent actually will keep the first one and delete the rest.  I'm working with Srinivas's code a bit now,  I think it is almost what you want.  I am under the impression that you dont' want to HIGHest date/time, but just the last record of the sequence, if this is the case, then this code will help.  Here we will assign an index to each record per the idnumber, that way we can sort it and get the lastest record.
    report zrich_0001.
    types: begin of itab_type,
            id       type i,
            idnumber type i,
            chdate   like sy-datum,
            chtime   like sy-uzeit.
    types: end of itab_type.
    types: begin of itab_type2,
            id       type i,
            idnumber type i,
            index    type i,
            chdate   like sy-datum,
            chtime   like sy-uzeit.
    types: end of itab_type2.
    data: itab     type table of itab_type with header line,
          itab2    type table of itab_type2 with header line,
          prev_rec type itab_type.
    data: v_id type i.
    start-of-selection.
      itab-id       = 1.
      itab-idnumber = 123456.
      itab-chdate   = '20060606'.
      itab-chtime   = '135312'.
      append itab. clear itab.
      itab-id       = 2.
      itab-idnumber = 123456.
      itab-chdate   = '20060606'.
      itab-chtime   = '135900'.
      append itab. clear itab.
      itab-id       = 3.
      itab-idnumber = 123456.
      itab-chdate   = '20060606'.
      itab-chtime   = '142500'.
      append itab. clear itab.
      itab-id       = 4.
      itab-idnumber = 123457.
      itab-chdate   = '20060606'.
      itab-chtime   = '140000'.
      append itab. clear itab.
      itab-id       = 5.
      itab-idnumber = 123457.
      itab-chdate   = '20060606'.
      itab-chtime   = '120000'.
      append itab.
      clear itab.
    <b>  data: counter type i.
    * Assign an index to each row per idnumber
      loop at itab.
        on change of itab-idnumber.
        if sy-tabix > 1.
          clear counter.
          endif.
        endon.
        clear itab2.
        move-corresponding itab to itab2.
        counter = counter + 1.
        itab2-index = counter.
        append itab2.
      endloop.
    * Sort it and get rid of older records.
      sort itab2  by idnumber ascending
                     index descending.
      delete adjacent duplicates from itab2 comparing idnumber.</b>
      read table itab2 with key idnumber = '123456'.
      write:/ itab2-chdate, itab2-chtime.
      read table itab2 with key idnumber = '123457'.
      write:/ itab2-chdate, itab2-chtime.
    Regards,
    Rich Heilman

  • Most recent date (UDATE) from CDHDR table based on CDPOS

    Hi,
    I am working on one object where i stuck with one issue. The requirement is I have to retrieve the most recent date from CDHDR table based on CHANGENR in CDPOS table. Where i am doing FOR ALL ENTRIES on CDPOS table to get the MAX( date )and i got the error, that aggregate functions are not allowed except COUNT( * ) with for all entries.
    Any thread which can solve this issue would help aswel.
    Please guide me how to achieve this. <removed>
    Edited by: Thomas Zloch on Mar 13, 2010 9:10 PM

    Hi Li,
    Thats was really helpful information , infact my requirement is same as what you said. I even checked in the table entries there is only one changenumber.
    You said we can take the first record, i even did the same. But for TABNAME I have to pass 3 table name 'LFA1', 'LFB1' and 'LFM1'. For FNAME 'LOEVM', 'SPERR'. I have written the code as below.
      SELECT objectclas
                   objectid
                   changenr
                   FROM cdpos
                   INTO TABLE i_cdpos_a1
                   FOR ALL ENTRIES IN i_lfabm1
                   WHERE objectclas = c_kred               "KRED
                   AND objectid EQ i_lfabm1-objectid       "Lifnr
                   AND ( tabname EQ c_lfa1 OR tabname EQ c_lfb1 OR tabname EQ c_lfm1 )          "LFA1, LFB1 and LFM1
                   AND ( fname EQ c_loevm OR fname OR fname EQ c_sperr )    "LOEVM, SPERR
                   AND value_new EQ c_x.
            IF sy-subrc EQ c_0.
              IF i_cdpos_a1[] IS NOT INITIAL.
    Select UDATE from CDHDR based on CHANGENR in CDPOS.
                SELECT objectclas
                       objectid
                       changenr
                       udate
                       FROM cdhdr
                       INTO TABLE i_cdhdr_a1
                       FOR ALL ENTRIES IN i_cdpos_a1
                       WHERE objectclas = c_kred             "KRED
                       AND  objectid EQ i_lfabm1-objectid               "Lifnr
                       AND changenr EQ i_cdpos_a1-changenr.   "(this is coming from CDPOS above selection)
    Here i got UDATE which have all the dates from 3 tables. I have to display in the output the field value (X) of LOEVM and UDATE for LFA1, SPERR value and UDATE for LFA1.Same way for other two tables, I have to display the UDATE and its field value (X). Where UDATE should be most recent date respectively.
    How can I populate the Recent date (UDATE) from one interal table for indvidual field values and table names.

  • "next" most recent date

    Hello!
    I have an order header record with a order line detail table.
    ORDERS
    OrderID > 1
    ORDER_LINES
    orderID1, line1, item1, date_due
    1,1,ITEM1,01-MAR-07
    1,2,ITEM2,15-MAR-07
    1,3,ITEM3,01-ARP-07
    I want to select the single next most recent date from order_lines where the date_due is the next future date closest to sysdate. There could also be several lines with dates beyond that, but I'm only interested in the next most recent line.
    For the example above, if sysdate = 03-MAR-07 the query would return order 1, line 2 (with the date of 15-mar-07).
    I've seen example in the forum with max(), however as pointed out, there could be several future line dates out there, I'm only interested in the next one from the current sysdate.
    In addition there could be no lines at all that map to the order id, requiring a NLV type of test output.
    Thanks!

    Maybe like this?
    SQL> select * from order_lines;
                ORDERID1                LINE1 ITEM1      DATE_DUE
                       1                    1 ITEM1      01-MAR-2007
                       1                    2 ITEM2      15-MAR-2007
                       1                    3 ITEM3      01-APR-2007
    SQL> select *
      2  from
      3  (
      4     select ol.*
      5           ,dense_rank() over (partition by orderid1 order by date_due) dr
      6     from   order_lines ol
      7     where  date_due > trunc(sysdate)
      8  )
      9  where dr = 1;
                ORDERID1                LINE1 ITEM1      DATE_DUE                      DR
                       1                    2 ITEM2      15-MAR-2007                    1

  • Selecting row by most recent date

    I'm attempting to select a row where the time ends in :00 and
    date is the most recent date or just the last record where time
    ends in :00, either will do.
    Once I have that record selected I need to query that query
    to pull in the previous 3 records which will be times ending in
    :15, :30 and :45 to round out that full hour of data for
    processing.
    It seems to me that this should be pretty easy but my CF
    books are not helping me here.
    Any Ideas?

    Two things I do to make this sort of thing easier are:
    1. Take baby steps. Start with one field and the date field.
    Once you get that to work, add one or two fields at at time.
    2. Comma control. This structure helps prevent extra commas
    from slipping into your query.
    select field1
    , field2
    , date
    from yourtable join (
    select field1 f1
    , field2 f2
    , max(datefield) maxdate)
    from yourtable
    where something
    group by field1
    , field2
    ) temp on field1 = f1 etc
    where clause

  • How do I get the numbers ipad app to plot a graph of dates against values, where the most recent date is on the right of the graph, but the most recent date is at the top rather than bottom of the rows in the table?

    How do I get the numbers ipad app to plot a graph of dates against values, where the most recent date is on the right of the graph, but the most recent date is at the top rather than bottom of the rows in the table?
    Also how can it be a line graph without plotting a circle at each value?
    Thanks this is very frustrating

    Make a copy of the table and produce your Line chart or Bar chart from the copy. Sort the copy into the order you want to see in your chart.
    Alternately you could use a Scatter Chart...
    Jerry

  • Select most recent DATE for an ID.

    Hi All,
    I need to SELECT the records with the most recent DATE for each ID. A DATE range is part of the selection criteria.
    My data.
    MY_ID MY_DATE
    1684662 26-JAN-09
    1424097 27-JAN-09
    1684663 27-JAN-09
    1684664 27-JAN-09
    1684672 28-JAN-09
    0689073 28-JAN-09
    1052476 21-JAN-09
    1052476 21-JAN-09
    1360828 23-JAN-09
    1684661 23-JAN-09
    1052476 30-JAN-09
    1052476 30-JAN-09
    1052476 30-JAN-09
    1052476 30-JAN-09
    The code below works fine when selecting 1 ID in the SUBSELECT, but with multiple ID it still selects rownum=1 (of course). This as far as my thinking takes me.
    SELECT my_id,
    my_date
    FROM
    (SELECT my_id,
    my_date
    FROM my_table
    ORDER BY my_date DESC
    WHERE rownum = 1
    AND *{color:#ff0000}my_id = 1052476{color}*
    AND TO_CHAR(my_date,'YYYY/MM/DD') BETWEEN '2009/01/01' AND '2009/01/31';
    If I could somehow pass the SELECT ID into the SUBSELECT WHERE clause I should have this done.
    Any suggestions?
    Thank You in Advance for Your help,
    Lou

    One of many possible soultions.
    ME_XE?with data as
      2  (
      3     select 1684662 as id, to_date('26-JAN-09','dd-mon-yyyy') as the_date from dual union all
      4     select 1424097 as id, to_date('27-JAN-09','dd-mon-yyyy') as the_date from dual union all
      5     select 1684663 as id, to_date('27-JAN-09','dd-mon-yyyy') as the_date from dual union all
      6     select 1684664 as id, to_date('27-JAN-09','dd-mon-yyyy') as the_date from dual union all
      7     select 1684672 as id, to_date('28-JAN-09','dd-mon-yyyy') as the_date from dual union all
      8     select 0689073 as id, to_date('28-JAN-09','dd-mon-yyyy') as the_date from dual union all
      9     select 1052476 as id, to_date('21-JAN-09','dd-mon-yyyy') as the_date from dual union all
    10     select 1052476 as id, to_date('21-JAN-09','dd-mon-yyyy') as the_date from dual union all
    11     select 1360828 as id, to_date('23-JAN-09','dd-mon-yyyy') as the_date from dual union all
    12     select 1684661 as id, to_date('23-JAN-09','dd-mon-yyyy') as the_date from dual union all
    13     select 1052476 as id, to_date('30-JAN-09','dd-mon-yyyy') as the_date from dual union all
    14     select 1052476 as id, to_date('30-JAN-09','dd-mon-yyyy') as the_date from dual union all
    15     select 1052476 as id, to_date('30-JAN-09','dd-mon-yyyy') as the_date from dual union all
    16     select 1052476 as id, to_date('30-JAN-09','dd-mon-yyyy') as the_date from dual
    17  )
    18  select id, the_date
    19  from
    20  (
    21     select id, the_date, max(the_date) over (partition by id) as max_the_date
    22     from data
    23  )
    24  where the_date = max_the_date;
                    ID THE_DATE
                689073 28-JAN-0009 12 00:00
               1052476 30-JAN-0009 12 00:00
               1052476 30-JAN-0009 12 00:00
               1052476 30-JAN-0009 12 00:00
               1052476 30-JAN-0009 12 00:00
               1360828 23-JAN-0009 12 00:00
               1424097 27-JAN-0009 12 00:00
               1684661 23-JAN-0009 12 00:00
               1684662 26-JAN-0009 12 00:00
               1684663 27-JAN-0009 12 00:00
               1684664 27-JAN-0009 12 00:00
                    ID THE_DATE
               1684672 28-JAN-0009 12 00:00
    12 rows selected.
    Elapsed: 00:00:00.03

  • Most recent data first in table view

     I am adding values to a display table like in the example, but I want the top row to be the newest data for the user to see. 
    It keeps adding to the bottom, and then the user would have to scrolll down to see all the data.      Can I select somehow the most recent data or get the table to auto scroll as data is applied?     I have tried shift registers as well but no luck.        
    Here is my VI
    Thanks
    Mike
    Solved!
    Go to Solution.
    Attachments:
    BasicTableExample.vi ‏11 KB

    Be aware that if you populate the table with a lot of data, its performance will get very slow.  You can work around this issue by only writing data to the table which the table is actually displaying.  To do this, you will need to use a scroll bar separate from the main table and the event structure to capture events.  If you run into this issue, let us know so we can provide some sample code.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • TS3899 iOS 7: sort email by most recent date?  Beyond frustrating.

    iOS 7: sort email by most recent date?  Beyond frustrating.

    Agree. Mail search results are nearly useless, sorted in effectively random order. Major Apple FAIL.
    Removing the other search buttons (from, subject, etc.) is also frustrating. Went from one-click simplicity to having to type in 'from:'.  Serious inconvenience.  Completely failed the WWSS (What would Steve Say?) test.

  • How to display maximum (most recent) date value in a query

    hello,
    I have the following query:
    StudentNumber | ExternalOrganization | Date |         | NumbeOfAdmissions
    0112                  050                            06/27/2007   1
    0234                  060                            07/15/2008   1
    1356                  025                            01/08/2008   1
    My dilemma is how to display only the row that has the most recent Date, e.g. here I want to only see the row with student number 0234 and date 07/15/2008; everything else should be hidden.
    I know it should be very simple....yes/no?
    thanks

    Hi
    even I am facing the same problem..
    Can you please tell me what did you do to get most recent record..
    Even I have made my date field as KF.. n have put condition on it.. but not getting desired result.. may be I am missing something.. somewhere..
    I resolved it.. thanks
    Regards
    Swati
    Edited by: Swati on Feb 17, 2009 7:49 AM

  • Most recent date with two other conditions met

    Ok, so I'm sure somebody is going to suggest that I do a search first before posting on here.  So let me assure you, that I have exhausted all search possibilities that I could possibly think of before registering to post on here.  I've read a lot of good suggestions that got me just as far as I was getting on my own, because I couldn't find any posts of somebody asking exactly what I'm looking to do.  I have tried quite close to 100 different formulas without achieving the desired results.
    I'm a pilot, and I track all of my flights myself in a very well organized(I think so ) Numbers spreadsheet that I've been tweaking and perfecting over the past few years.  I have created plenty of formulas in it, and they all work great...except ONE.
    I've created a simplified version of the columns I am trying to match specific conditions with.  Essentially, I need the formula to return the most recent date(column 1), that is completed during a night time flight status(column 2), that is equal to or greater than 1.0 flight hours(column 3).
    As you can see, by evaluating the table below, the correct formula should return to me:        8-4-13
    The closest I've come to getting the correct results was with a "LOOKUP" formula, but I could not figure out how to get it to properly assess whether it was equal to or greater than 1.0 hours of flight, thus returning me the wrong date EVERYTIME(the most recent night flight period).
    I'm sure I've gotten close at least a few times, but I need some help getting this final formula figured out.  I really appreciate anybody's input on this.
    Date
    Flight Status
    Flight Hours
    8-1-13
    D
    2.4
    8-2-13
    N
    3.0
    8-3-13
    N
    1.1
    8-4-13
    N
    1.3
    8-5-13
    D
    2.2
    8-6-13
    N
    0.5
    8-7-13
    D
    1.1

    This may work and requires and extra column in your Data entry table (the one you provided in your post).  You can hide this new column.
    D2=IF(AND(C2>=1, B2="N"), A2, "")
    select D2 and fill down as needed.
    The table on the right is a summary table and is set up as follows:
    B2=MAX(Data :: D)
    I hope this is helpful

  • Most recent date query..

    Hi All..
    I have 2 tables note and sub_note and sample data is..
    create table note(note_date date,pmry_id number,sub_id number not null)
    insert into note(note_date,pmry_id,sub_id) values('12/30/2008 02:12:52',282,1)
    insert into note(note_date,pmry_id,sub_id) values('12/23/2008 10:12:24',282,1)
    insert into note(note_date,pmry_id,sub_id) values('12/22/2008 01:12:11',282,1)
    insert into note(note_date,pmry_id,sub_id) values('12/22/2008 09:12:56',282,1)
    insert into note(note_date,pmry_id,sub_id) values('12/19/2008 01:12:54',282,1)
    insert into note(note_date,pmry_id,sub_id) values('12/22/2008 09:12:56',282,2)
    insert into note(note_date,pmry_id,sub_id) values('12/22/2008 09:12:57',282,2)
    create table sub_note(sub_id number not null,sub_name varchar2(100))
    insert into sub_note(sub_id,sub_name) values(1,'Product')
    insert into sub_note(sub_id,sub_name) values(2,'Expectations')how can select the most recent date for product and most recent date for expectations...joining these 2 tables..
    Thanks in advance...

    user10280715 wrote:
    Thanks for the reply...
    that was only a sample data..so I kept 2 sub_names for a perticular pmry_id..my original data contains several sub_names(about 5) for a perticular pmry_id...
    hope you gt my point..I'm not sure I understand.
    If you have 5 sub_names that you're interested in, change the WHERE clause to have those 5 sub_names. The list after "IN" can have as few as 1 or as many as 1000 items. (I'm not too sure about the upper limit, and it may be version-dependent.)
    If you want to include all sub_names, then omit the WHERE clause.

  • How to display record with most recent date in sapui5?

    Hi
    I have a local json data with me, in which I have number of records.
    And in each record I have an "AENDATE" as a date property.
    Now I want to display the record with most recent date in the records.
    How I can I do it......????????
    Please help me with this.
    Thanks
    Sathish

    How about sorting your json model descending, and display only first (index:0) item?

  • Select most recent date only

    I'm quite new to discoverer so please bear with me.
    I have a query that returns e.g. 16 records.
    One of the fields is a date field.
    What I want to do is put a condition on the date field so that it only returns the record with the most recent date.
    Thanks.

    let me explain it to u in detail
    i have the following fields
    CONTRACTNUM FIRMTYPE FIRM A FIRM B FIRM % NTP_ACTUAL
    123456 P ABC XXX 96 MM/DD/YYYY
    S XXX DEC 4 MM/DD/YYYY
    P ABC XXX 96 MM/DD/YYYY
    S XXX DEC 4 MM/DD/YYYY
    Here the CONTRACTNUM IS unique and the firm% sum is equal to 100, but the record is repeating twice , under the same CONTRACTNUM......................any suggestions willbe of great help.
    So for this i used the ROW_NUMBER() OVER(ORDER BY date_field DESC)
    in my case : ROW_NUMBER() OVER(ORDER BY ntp_actual DESC).
    Now it gives me a new field with the row_numbers and when i create a condition where the calculation is =1, it give me one record
    I was using this , because for any given contract number .............it should bring the record with the recent ntp_actual date.
    i hope i was clear.
    Thnks

  • Most recent date formula

    I need the formula to calculate the most recent date.

    Hi,
    Just go to the formula fields and create New formula.write folowing formulae.
    Maximum(Your Date Field)
    Regards
    Kiran

Maybe you are looking for

  • Still image issues (I've already read the other similar post- didn't apply)

    Still having issues with still images in my timeline. Viewer they're fine, Canvas they're repulsive. Seq. settings are NTSC, 29.97, 48k. I have tried several different extensions for the stills and have even tried importing them at different sizes. I

  • Windows quicktime- memory faults causing non-response on 720p video MJPEG codec

    windows vista 64 home premium nvidea evga gtx260 with latest drivers 4 gb ram (2.5 gb free) code 2 quad Q9950 yorktown processor at 2.83 ghz more Hard drive than i will ever use.... trying to play HD 720p video recorded on casio camera. Quicktime pro

  • NullPointerException obtained while using multitable with a single class

    Hi, I get the following excepting while trying to create a row in database using a class associated with multiple tables in Toplink 10.1.3. I have checked my foreign keys and the tables are not linked through primary keys. Please let me know anything

  • About Adobe Flash Professional CS5.5 and Game Developing.

      Hi guys,    I would like to ask 4 questions for today. 1) What can Adobe Flash Professional CS5.5 do? ( Can it create games, design sites and animate? or more?) 2) Could you guys tell me any website where I can register a domain name for very low p

  • Add Seconds to DateTime value

    My data source has some columns I want to add together. StartDate, which looks like 12/26/2014 4:13:40 PM and QueueTime, which is a whole number integer like 45088 (number of seconds) I want to add these together (the correct result would be 12/27/20