Is there an alternate (newer) way to select value 9 from table containing values 1-10 instead of usign MAX?

I have a table with one column (rowID) and ten rows. The values are the numbers 1 thru 10. I want to select 9. I used the MAX function as follows:
create table #tmp1(rowID int)
insert into #tmp1
values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
select MAX(rowID) as rwID from #tmp1
where rowID < (select MAX(rowID) from #tmp1)
--Is there any built in function that can perform this operation -- without the subquery?
Rich P

create table #tmp1(rowID int)
insert into #tmp1
values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
--select MAX(rowID) as rwID from #tmp1
--where rowID < (select MAX(rowID) from #tmp1)
--row_number in a derived table
select RowID from (
Select rowID,row_number() Over(Order by rowID DESC) rn from #tmp1) t
Where rn=2
--row_number in a CTE
;with mycte as (
Select rowID
,row_number() Over(Order by rowID DESC) rn from #tmp1
SELECT RowID
FROM mycte
WHERE rn = 2
--Lead funtion
;with mycte as (
Select rowID
,Lead(rowID,1) Over(Order by rowID DESC) leadRowID from #tmp1
SELECT top 1 leadRowID
FROM mycte
Order by leadRowID DESC
--Last_Value
;with mycte as (
Select rowID
,Last_Value(rowID) Over(ORDER BY rowID DESC ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING ) LastRowID from #tmp1
SELECT top 1 LastRowID
FROM mycte
Order by LastRowID DESC
--another option to combine top and min
 SELECT min(rowID) 
  FROM (
        SELECT TOP 2 rowID
          FROM #tmp1
         ORDER BY rowID DESC) t
You can check all these solutions on your table and add an index to the column and test again.You may find one that works better for you.
drop table #tmp1

Similar Messages

  • I would like to know, on the ringtone page, where you can select songs out of your music library, is there a way to remove a song from the list after its selected? I would thin there would be a way to "delete" the songs from the list. (Clock app)

    I would like to know, on the ringtone page, where you can select songs out of your music library, is there a way to remove a song from the list after its selected? I would thin there would be a way to "delete" the songs from the list. (Clock app)
    Let me explain:
    In the clock app for ios 6.0.2 I am a little confused. It allows you to go into your music library, and create a ringtone using any songs you choose. However, I cannot find a way to remove a song from this list, just like I cannot delete one of the preset ringtones (which I'm not trying to do, but just as an example)
    Thanks for your time! If you need more information just ask.
    (I believe both my iPod and iTunes are up to date)

    I believe you just are able to delete them from iTunes.
    Hope it will be helpful

  • Ok really now...has anyone figured out a new way to select a portion of a project and output just that part?? Or is it still a 20 step process??

    Ok really now...has anyone figured out a new way to select a portion of a project and output just that part?? Or is it still a 20 step process?? What is the best/fastest way to give my client a teaser clip??

    Still a 20 step process, many ways to approch it. Duplicate project and selectively delete everything around it. Or select and copy what you need. I think it could be a year before apple makes that step a 2 or 3 step process.

  • Is there an easy way to select complimentary colors from within Photoshop?

    Is there an easy way to select complimentary colors from within Photoshop?
    Is there a tool like Kuler for Photoshop?
    Kind regards,
    Michael
    Learn how to do meditation

    See attached image... I have PS CS5.
    Is there a way from the color picker or using color libraries to pick shades, complimentary, tetradic or triadic colors?

  • CRM Login gives a message ' There is a new way of starting CRM; adjust your

    Hello,
    Can you please help me with the below..
    We Upgraded our systems to CRM 7.0
    When I login to CRM, a message is displayed ' There is a new way of starting CRM; adjust your favorites ' .
    When i click on the link , it works fine.
    I want this message to be disabled..I want to be directly taken to the CRM WebUI after entering the username and pwd. rather than redirecting me to the above message ..
    I have checked other posts, but it talks about logoff URL rather than login message.
    Please help.
    Thanks.
    Regards,
    Monica.

    Thanks Bhushan.
    I had a look at the link earlier, it talks about Log off link which is maintained in the technical profile.
    I am interested in the logon URL.
    Do you know where it is maintained?
    I checked in sicf -> defaulthost->sap>....crm_logon ..It was pointing to crm_ui_start.
    Is there any other place you need to maintain the login URL?
    Thanks.
    Any suggestions are appreciated..
    Regards,
    Monica

  • Can I select element number from table collection expression?

    Hi, I know I can use COLUMN_VALUE to select column values from table collection expression. Is there any way to select the number of the element as well? (with Oracle 11.2.0.1.0)
    CREATE OR REPLACE TYPE plch_numbers_nt IS TABLE OF NUMBER;
    DECLARE
       l_numbers   plch_numbers_nt
                      := plch_numbers_nt (10,
                                          20,
                                          30,
                                          40,
                                          50);
    BEGIN
       -- This would be nice...
       FOR rec IN (SELECT COLUMN_VALUE, VALUE_INDEX FROM TABLE (l_numbers))
       LOOP
          DBMS_OUTPUT.put_line (rec.COLUMN_VALUE, rec.VALUE_INDEX);
       END LOOP;
    END;
    /

    First of all, I would like to thank you all for your replies. I really appreciate your help.
    The problem I'm trying to solve is more complicated than what I have shown so far. Right now I'm trying to decompose the problem into smaller problems. Maybe I should show you the full problem and hope that I still get a reply.
    I have a spatial column with collections of geometries (SDO_GTYPE 2004) and I have a VARRAY column of objects. For each row, each geometry in the geometry collection has some information in one element in the VARRAY. So I have this table
    -- +----+------------------+-----------------------------------------------------------------------------------+
    -- | ID | GEOM_COLL        | GEO_INFO                                                                          |
    -- +----+------------------+-----------------------------------------------------------------------------------+
    -- | 98 | sdo_geom(2004)_1 | ((geo_info_1_1_1; geo_info_2_1_1; ...);(geo_info_1_1_2; geo_info_2_1_2; ...) ...) |
    -- +----+------------------+-----------------------------------------------------------------------------------+
    -- | 99 | sdo_geom(2004)_2 | ((geo_info_1_2_1; geo_info_2_2_1; ...);(geo_info_1_2_2; geo_info_2_2_2; ...) ...) |
    -- +----+------------------+-----------------------------------------------------------------------------------+
    --  ...and I need this
    -- +----+--------------------+----------------+----------------+-----+
    -- | ID | SDO_GEOM           | GEO_INFO_1     | GEO_INFO_2     | ... |
    -- +----+--------------------+----------------+----------------+-----+
    -- | 98 | sdo_geom(2001)_1_1 | geo_info_1_1_1 | geo_info_2_1_1 | ... |
    -- +----+--------------------+----------------+----------------+-----+
    -- | 98 | sdo_geom(2002)_1_2 | geo_info_1_1_2 | geo_info_2_1_2 | ... |
    -- +----+--------------------+----------------+----------------+-----+
    -- +----+--------------------+----------------+----------------+-----+
    -- | 99 | sdo_geom(2002)_2_1 | geo_info_1_2_1 | geo_info_2_2_1 | ... |
    -- +----+--------------------+----------------+----------------+-----+
    -- | 99 | sdo_geom(2001)_2_2 | geo_info_1_2_2 | geo_info_2_2_2 | ... |
    -- +----+--------------------+----------------+----------------+-----+
    -- ...I need a flat version of the original table, if you will. My original plan was to convert the VARRAY values to rows and extract the geometries into rows. Then join both using their ROWNUMs. But this does not work as i need numbers that start at 1 for each ID and I'm not sure if ROWNUM will give me the right order. Hence my question for consecutive element numbers. I have no idea how to do it with SQL. I'm working on a PL/SQL solution right now. Sample code follows. Sorry for the length of this post.
    CREATE OR REPLACE TYPE geo_info AS OBJECT (
      just INTEGER,
      txt  VARCHAR2 (255)
    CREATE OR REPLACE TYPE geo_info_array AS VARRAY (10000) OF geo_info;
    CREATE TABLE geometries (
      id NUMBER (38) PRIMARY KEY,
      geom_coll SDO_GEOMETRY,
      geo_info geo_info_array
    INSERT INTO geometries (id, geom_coll, geo_info) VALUES (
      98,
      sdo_geometry (2004, NULL, sdo_point_type (0, 0, 0),
                    sdo_elem_info_array (1, 1, 1, 3, 2, 1, 7, 1, 1, 9, 1, 1),
                    sdo_ordinate_array (5408562.081181, 5696027.239777, 5408563.398, 5696028.369, 5408568.192, 5696028.132, 5408562.643029, 5696038.558968, 5408565.328059, 5696027.0783)),
      geo_info_array (geo_info (7, '10.9'),
                      NULL,
                      geo_info (7, '0.0'),
                      geo_info (7, '-4.8-'))
    INSERT INTO geometries (id, geom_coll, geo_info) VALUES (
      99,
      sdo_geometry (2004, NULL, sdo_point_type (0, 0, 0),
                    sdo_elem_info_array (1, 2, 1, 5, 1, 1, 7, 2, 1, 11, 1, 1, 13, 1, 1),
                    sdo_ordinate_array (5408575.262, 5696017.841, 5408575.255, 5696017.341, 5408573.318578, 5696016.67559, 5408575.255, 5696017.341, 5408574.155, 5696017.357, 5408573.359578, 5696017.97359, 5408572.012251, 5696017.299678)),
      geo_info_array (NULL,
                      geo_info (7, '0.5'),
                      NULL,
                      geo_info (7, '0.0'),
                      geo_info (7, '-1.1-'))
    /

  • Select * into Table1 from Table not working

    Hi,
    How to copy data from one table to other new table using select * into statement.
    I am getting missing keyword error when I use the statement
    select * into Table1 from Table
    Thanks a lot in advance.
    Regards,
    Praveen

    the syntax is
    INSERT INTO table1 SELECT * FROM table2;

  • Select from table containing clob

    If i try to select from table containing clob column in SQL PLus it gives error.
    Tab1 contains 3 clob columns and 1 blob column
    select * from tab 1;
    SP2-0678: Column or attribute type can not be displayed by SQL*Plus
    The same statement works in SQL Developer and I am able to see the result.
    Actually i am writing the queries and they will be used by Java developers in their JSP page.
    So what happens here? Can Java use these select statements or will it throw error like SQL Plus?

    BLOB column content can't be displayed in SQL*Plus:
    SQL> create table t_blob (b blob);
    Table created.
    SQL> edit
    Wrote file afiedt.buf
      1* insert into t_blob values('01')
    SQL> /
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select * from t_blob;
    SP2-0678: Column or attribute type can not be displayed by SQL*PlusBlob and clob columns content can be processed using DBMS_LOB
    package procedures and functions or using client's language (like Java)
    methods. See JDBC specification.
    Rgds.

  • Af:table and selectOneChoice, creating a new row resets selected value

    Hello,
    I have a table containing 4 columns, first two are read-only (outputtext) and next 2 contains selectOneChoice , table model is baed on java.util.List
    adding a new row, works fine but it resets the selectOneChoice(dropbox) selected value to First Index For All Rows
    so everytime you add a new row, it resets the value to the very First Value in the dropbox for all rows,
    it seems after PPR it loses the selected value in SelectOneChoice for each row...
    any ideas?
    Thanks,

    Hi,
    What is the EL expression given for value property of selectOneChoice list?
    I guess it is the bean variable and it is same for each row, due to which selection in any selectOneChoice list in table modifies the same bean variable and sets the same value for lists in all other rows too(same happens in case of new insertion also, when you insert new record selectonechoice list points to the first value if no selection item is not added), in case of selectonechoice list you need to handle the selected values differently for each row. If you can share sample code, I can tell you what could be the problem.
    Sireesha

  • What is the best way of selecting 99 colums from a table with 100 colums?

    Hi All,
    Suppose in a table T, I have 100 colums .I want to select 99 columns.So what is the best way to do the same?
    Anyone Help!
    Thanx in advance.
    Piyush

    Try this
    SQL> ed
    Wrote file afiedt.buf
      1  select column_name ||',
      2  ' from user_tab_columns
      3  where
      4     table_name = 'EMP'
      5*    and column_name not like 'EMPNO'
    SQL> /
    COLUMN_NAME||','
    ENAME,
    JOB,
    MGR,
    HIREDATE,
    SAL,
    COMM,
    DEPTNO,
    7 rows selected.
    SQL>

  • How to get selected/focused cell from table, and action on clicked

    Hello Web Dynpro Community!
    i have a view with a table, (id "Table_0");
    table is 3x3 size, as celleditors i used inputfields; (standard binding to context with string atributes)
    below table i have textarea.
    when i select any cell in table i want to add that cell coords to textarea (col and row)
    i know that i should use onLeadSelect action, but i dont know exacly how. or to be precise.. how to access to ID and row variables in that action.
    the other problem is.. that onLeadSelect seems to work only when i change lead not the cell in same row.. so prabobly there is better way to do that..
    any ideas?
    Looking to hear from You.
    EDIT:
    Now i have following problem:
    i have a table 3x3 with one column as dropdownbykey box and 2 as TableSingleMarkableCell (and inputFields As editors).
    it works as i wanted:
    so when i click on one of those input cells, insert vale AND click enter then the action onEnter( for inputfield) is fired... i can get the coords of that cell..
    problem is.. that i want to get the coords before i click enter.. just when i click in cell.
    i tried to use onAction event for column.. but it doesnt work for TableSingleMArkableCells (but it works for ddk column correctly).
    so there is any way to do that?
    ie:
    below table i have inputfield (called  value).
    when i click on cell (and DO NOT press enter) i want to see the cell value in inputfield value.
    future (and target need) is that i need to show some additional text for specific Cell. (i have an Object with 2 strings attributes, one i want to show in cell, and one in inputfield when cell is clicked).
    M.
    Edited by: Michal Rowinski on Jan 16, 2008 9:51 AM

    You can use cell variant  for your requirement . Go through the below link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0310fd2-f40d-2a10-b288-bcbe0810a961
    Regards,
    Nethaji

  • Best way to join 2 columns from table A to same column in Table B?

    Hi,
    This is a simplified example of the query I'm trying to write.
    I have two tables - PIPELINE (which includes columns CREDIT_RECEIVER and CREATOR) and EMPLOYEES (which includes columns EMAIL and LOB).
    I want to write a query which joins PIPELINE.CREDIT_RECEIVER with EMPLOYEES.EMAIL to return LOB as "CREDIT_RECEIVER_LOB".
    I also want this query to join PIPELINE.CREATOR with EMPLOYEES.EMAIL to return LOB as "CREATOR_LOB".
    Currently, I am doing a left outer join on EMPLOYEES.EMAIL = PIPELINE.CREDIT_RECEIVER to get "CREDIT_RECEIVER_LOB", and calling a function GET_LOB(PIPELINE.CREATOR) (defined below) to get "CREATOR_LOB".
    Query:
    Select PIPELINE.ID as ID,
    PIPELINE.CREDIT_RECEIVER as CREDIT_RECEIVER,
    PIPELINE.CREATOR as CREATOR,
    EMPLOYEES.LOB as CREDIT_RECEIVER_LOB,
    GET_LOB(PIPELINE.CREATOR) as CREATOR_LOB
    FROM PIPELINE
    LEFT OUTER JOIN EMPLOYEES ON PIPELINE.CREDIT_RECEIVER=EMPLOYEES.EMAIL
    Is there a more efficient way to write this query? This query is so slow that it usually times out on me.
    Thanks,
    Forrest
    GET_LOB definition
    create or replace function "GET_LOB"
    (vemail in VARCHAR2)
    return VARCHAR2
    is
    begin
    DECLARE vLOB VARCHAR2(30);
    BEGIN
    SELECT LOB INTO vLOB FROM EMPLOYEES WHERE email = vemail;
    return vLOB;
    END;
    end;

    Select PIPELINE.ID as ID,
           PIPELINE.CREDIT_RECEIVER as CREDIT_RECEIVER,
           PIPELINE.CREATOR as CREATOR,
           e1.LOB as CREDIT_RECEIVER_LOB,
           e2.LOB as CREATOR_LOB
      FROM PIPELINE
      LEFT OUTER JOIN EMPLOYEES E1
        ON PIPELINE.CREDIT_RECEIVER = EMPLOYEES.EMAIL
      LEFT OUTER JOIN EMPLOYEES E2
        ON PIPELINE.CREATOR = EMPLOYEES.EMAIL
    Ramin Hashimzade

  • Help: Error on SELECT INTO TABLE2 FROM TABLE AS E1 JOIN...

    Can anyone help? I am getting an error in my sql statement below:
    SELECT E1.COL1, E1.COL2, E2.COL3, E1.COL4
    INTO TABLE2
    FROM TABLE AS E1
    JOIN TABLE AS E2 ON
    (E1.COL1 = '10000' AND E2.COL1 = '20000') OR
    (E1.COL1 = '20000' AND E2.COL1 = '10000')
    WHERE
    E1.COL3 = E2.COL3 AND E1.COL4 = '11000' AND E1.COL3 < '2011/04/01'
    The script works fine on SQL Server (2008) but I am unable to run it in Oracle.
    I am using Oracle SQL Developer v1.5.4 Build MAIN-5940.
    Thanks in advance for anyone who can help.

    Tubby wrote:
    850777 wrote:
    Thanks for the immediate reply Tubby. I will try removing the AS for aliasing.
    I still have one more problem though (about removing the line INTO TABLE2) because
    I am actually using it to store the SELECTed data into the new TABLE2. Is there a workaround for this? ThanksWhat are you trying to do here? View the data produced by the query, or create a pl/sql routine?
    What's the point behind creating a table to store the results in?
    Tubby wrote:850777 wrote:
    Thanks for the immediate reply Tubby. I will try removing the AS for aliasing.
    I still have one more problem though (about removing the line INTO TABLE2) because
    I am actually using it to store the SELECTed data into the new TABLE2. Is there a workaround for this? ThanksWhat are you trying to do here? View the data produced by the query, or create a pl/sql routine?
    What's the point behind creating a table to store the results in?What I am trying to do is copy the data in TABLE to TABLE2 but with the data in E1.COL3 swapped with the one in E2.COL3 based on certain conditions.
    Basically I am just trying to swap the values of a column (COL3) and store it in my new table (TABLE2) together with all the (unswapped) values from all the other columns.
    Ex.
    TABLE
    COL1 COL2 COL3 COL4
    1 1 1 1
    2 2 3 2
    3 3 2 2
    4 4 4 1
    Target result:
    TABLE2
    COL1 COL2 COL3 COL4
    1 1 1 1
    2 2 2 2 <-swapped values
    3 3 3 2 <-in COL3
    4 4 4 1

  • What is the column name when use select ... from table(my_table)

    I have some code that takes a csv and loads it into a type table. I am now trying to select from this table but am not sure what column name to use in my cursor. (See below I have c2.???).
    FUNCTION in_list_varchar2 (p_in_list IN VARCHAR2) RETURN VARCHAR2_TT is
    l_tab VARCHAR2_TT := VARCHAR2_TT();
    l_text VARCHAR2(32767) := p_in_list || ',';
    l_idx NUMBER;
    BEGIN
    LOOP l_idx := INSTR(l_text, ',');
    EXIT WHEN NVL(l_idx, 0) = 0;
    l_tab.extend;
    l_tab(l_tab.last) := TRIM(SUBSTR(l_text, 1, l_idx - 1));
    l_text := SUBSTR(l_text, l_idx + 1);
    END LOOP;
    RETURN l_tab;
    END in_list_varchar2;
    schema_list := 'SCOTT, TOM, MIKE';
    schema_names := regexp_replace(schema_list, '([^,]+)', '''\1''');
    schema_list_t := DATAPUMP_UTIL.in_list_varchar2(schema_list);
    for c2 in
    select *from table(schema_list_t)   
    loop
    dml_str := 'DROP USER ' || c2.??? || 'CASADE';
    EXECUTE IMMEDIATE dml_str;
    end loop;

    Chris wrote:
    I have some code that takes a csv and loads it into a type table. I am now trying to select from this table but am not sure what column name to use in my cursor. (See below I have c2.???).
    FUNCTION in_list_varchar2 (p_in_list IN VARCHAR2) RETURN VARCHAR2_TT is
    l_tab VARCHAR2_TT := VARCHAR2_TT();
    l_text VARCHAR2(32767) := p_in_list || ',';
    l_idx NUMBER;
    BEGIN
    LOOP l_idx := INSTR(l_text, ',');
    EXIT WHEN NVL(l_idx, 0) = 0;
    l_tab.extend;
    l_tab(l_tab.last) := TRIM(SUBSTR(l_text, 1, l_idx - 1));
    l_text := SUBSTR(l_text, l_idx + 1);
    END LOOP;
    RETURN l_tab;
    END in_list_varchar2;
    schema_list := 'SCOTT, TOM, MIKE';
    schema_names := regexp_replace(schema_list, '([^,]+)', '''\1''');
    schema_list_t := DATAPUMP_UTIL.in_list_varchar2(schema_list);
    for c2 in
    select *from table(schema_list_t)   
    loop
    dml_str := 'DROP USER ' || c2.??? || 'CASADE';
    EXECUTE IMMEDIATE dml_str;
    end loop;
    I have some code that takes a csv and loads it into a type table.Why a type table? Where is type table defined as such?
    with PL/SQL, objects must be declared before they can be referenced.
    You need to correct syntax errors before tackling any runtime/logic flaws.

  • Selecting duplicate rows from table

    Hi all,
    How to select the duplicates rows present in the table...

    SQL> select * from customer;
    CUST_ID CUST_NAME LOC
    1 Jeff Miami
    2 Andrew Michigan
    3 Julia Chicago
    1 Linda Miami
    1 Martha Miami
    3 Randy Chicago
    3 John Chicago
    7 rows selected.
    SQL> select * from customer where rowid != (select min(rowid) from customer C where C.cust_id = customer.cust_id);
    CUST_ID CUST_NAME LOC
    1 Linda Miami
    1 Martha Miami
    3 Randy Chicago
    3 John Chicago
    SQL>

Maybe you are looking for

  • Double contacts in address book & iPhone

    I have double contacts in my address book on my iMac and on my iPhone I have "linked cards". Does anyone know how to fix this? My sync is not checked in iTunes, so I don't think that is the problem. I have tried to "search for duplicates" in my addre

  • Enabling Parent button while external swf is loaded [AS3]

    Hello everyone, I am very new to Flash and it takes me a while to understand what code is trying to tell me The problem I am currently facing is as follows: After searching the net for hours I finally figured out, how to load an external swf into my

  • HP Pavilion 27xi US power adapter work in UK?

    Hi, I'm looking to import  the HP Pavilion 27xi to the UK as HP don't seem to want to release it in Europe and I love the look of this montor so I must have it. My question is will the adapter that comes with the US model work in the UK with a UK pow

  • InDesign CC crashes while starting

    I did not use ID since 1 or 2 weeks, but now it crashes. Any idea?

  • How do i change the email that my iCloud is linked to ?

    I have recently tried to change the email addres that is linked to icoud. I keep getting pop ups asking me to put in my password for the old email and it saying that is also having problems connecting to the server.. I have changed the email address