Oracle-11g

SQL 命令未正確結束

  • March 6, 2016

您看到為什麼在下面的 select 語句中出現此錯誤“SQL 命令未正確結束”嗎?

oracle中的選擇命令:

select
       l_orderkey,
       sum(l_extendedprice * (1 - l_discount)) as revenue,
       o_orderdate,
       o_shippriority
   from
       customer,
       orders,
       lineitem
   where
       c_mktsegment = 'BUILDING'
       and c_custkey = o_custkey
       and l_orderkey = o_orderkey
       and o_orderdate < date '1995-03-15'
       and l_shipdate > date '1995-03-15'
   group by
       l_orderkey,
       o_orderdate,
       o_shippriority
   order by
       revenue desc,
       o_orderdate
    where rownum <= 10;

您使用的語法無效。這是在 12c 之前的版本中選擇前 10 行的方式。

select * from
(
select
       l_orderkey,
       sum(l_extendedprice * (1 - l_discount)) as revenue,
       o_orderdate,
       o_shippriority
   from
       customer,
       orders,
       lineitem
   where
       c_mktsegment = 'BUILDING'
       and c_custkey = o_custkey
       and l_orderkey = o_orderkey
       and o_orderdate < date '1995-03-15'
       and l_shipdate > date '1995-03-15'
   group by
       l_orderkey,
       o_orderdate,
       o_shippriority
   order by
       revenue desc,
       o_orderdate
)
    where rownum <= 10;

引用自:https://dba.stackexchange.com/questions/131421