我有一如下优化的SQL语句,但是它怎么不能在SQL数据库上执行呢。(这SQL语句的作用是选择segment_id最大的一条记录)
select * from (select * from table_name order by segment_id desc) where rownum <=1;报如下的错误:
Server: Msg 1033, Level 15, State 1, Line 1
The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified.
请帮忙解决一下,看这SQL语句有什么问题。谢谢。
from table_name
where rownum <=1 ----这个要是你的字段哦,不是oracle中的那个意思,要不就用 top 1 order by segment_id desc
from table_name
where rownum <=1 ----这个要是你的字段哦,不是oracle中的那个意思,要不就用 top 1
order by segment_id desc如果想就返回一条记录:
select top 1 *
from table_name
order by segment_id desc
select * from table_name where rownum = 1 order by segment_id desc --sql server
select top 1 * from table_name order by segment_id desc