插入数据,提示缺少关键字SELECT,
WITH A AS (select acct_no,
lead(txn_dt) over(partition by acct_no order by acct_no) end_dt
from acctno_bal)
insert into acctnoa(end_dt) select nvl(end_dt,'30001231') end_dt from A;
commit;
直接 insert into select不行么
insert into acctnoa(end_dt) select nvl(end_dt,'30001231') from (select acct_no,
lead(txn_dt) over(partition by acct_no order by acct_no) end_dt
from acctno_bal ) a;
你要飞用with 那也是在insert 后边写
insert into acctnoa(end_dt)
with a as(
select acct_no,
lead(txn_dt) over(partition by acct_no order by acct_no) end_dt
from acctno_bal
) select nvl(end_dt,'30001231') end_dt from A;
例子:查询所有内容并且按照年龄字段从高到低排序:select * from student order by age desc;
,其中desc
表示降序排序,升序排序的关键字为asc
,order by
后面接排序的标准,这里以年龄为排序的标准。结果如下图所示:
可以看到年龄是降序排序的,升序排序只需要把desc
关键字换成asc
即可。
可以发现相同年龄的,数学成绩并不一样,可以在这个基础上,根据数学成绩再次排序:
select * from student order by age asc,math desc;
这句sql
的意思是查询表中所有内容,其中以age
为排序标准进行升序排序,如果age
相同的时候,以math
成绩进行降序排序,结果如下图所示:
这里要注意,只有第一个字段相同的时候,才会执行第二个字段。如果排序关键字没有写,则默认是asc
升序排序。