因为表中的数据是自动生成的,一分钟生成一列,所以我想写个sql查询出最后一列的数据
求sql

解决方案 »

  1.   

    select   *   from   table   
      having   rownum   =   max(rownum)
      

  2.   

    楼主是要求最后一行还是最后一列? 如果是最后一行,可以参考如下代码:
    SELECT DISTINCT
           LAST_VALUE(ENAME) OVER () LAST_NAME,
           LAST_VALUE(DEPTNO) OVER () LAST_DEPTNO,
           LAST_VALUE(SAL) OVER () LAST_SAL
      FROM SCOTT.EMP;LAST_NAME  LAST_DEPTNO   LAST_SAL
    ---------- ----------- ----------
    MILLER              10       1300SELECT ENAME,DEPTNO,SAL FROM SCOTT.EMP;ENAME          DEPTNO        SAL
    ---------- ---------- ----------
    SMITH              20        800
    ALLEN              30       1600
    WARD               30       1250
    JONES              20       2975
    MARTIN             30       1250
    BLAKE              30       2850
    CLARK              10       2450
    SCOTT              20       3000
    KING               10       5000
    TURNER             30       1500
    ADAMS              20       1100ENAME          DEPTNO        SAL
    ---------- ---------- ----------
    JAMES              30        950
    FORD               20       3000
    MILLER             10       1300已选择14行。
      

  3.   

    最后一列用过程处理
    不过感觉有点奇怪create or replace procedure proc(tabname in varchar2)
    as
    sqlstr varchar2(2000):='create or replace view viewtmp as select ';
    v varchar2(100);
    begin
    select column_name into v from(
      select t.*,row_number()over(order by column_id desc)rn from user_tab_cols t where table_name=upper(tabname))
    where rn=1;
    sqlstr:=sqlstr||v||' from '||tabname;
    execute immediate sqlstr;
    --dbms_output.put_line(sqlstr);
    end proc;
    调用execute proc('tablename');
    然后
    select * from viewtmp
    来查询
      

  4.   

    获取(最后一行不是最后一列)
    如果数据没有删除
    可以用ROWID来判断
    select  *  from  a
    where rowid =  (select max(rowid) from a) 
      

  5.   

    select Column_name from 
    user_tab_cols where table_name='BMX_FILE'
    and Column_id=
    (select max(Column_id) from user_tab_cols 
    where table_name='BMX_FILE' )
      

  6.   

    获取最后一列的想法很奇怪,但是也不是不能实现,可以通过动态的sql来实现的,实现起来并不困难,我就不在这里罗嗦了。