后面的查询SELECT @i := 0是为了将i进行初始化每次查询的序列号都会从1开始进行排序生成序列号
用SQL语句可以这样写就能生成序列号: select(@i:=@i+1)as 序号 from (select @i:=0) as i
SELECT (@i:=@i+1) 序号 , name as 所属组织,resource as 单位 FROM cx_external_resources , (SELECT @i:=0) as i
1、首先建一张测试表coal_blead,里面有多个字段。
2、输入“select * from coal_blead order by qnet,price”语句,按qnet,price字段进行升序排序。
3、输入“select * from coal_blead order by qnet desc,price desc”语句,先按qnet字段进行降序,再按price字段进行降序。
4、输入“select * from coal_blead order by qnet desc,price asc”语句,先按qnet字段降序,再按price字段进行升序。
5、如果想对更多的字段进行排序,可以进行添加。
INSERT时如果要用到从1开始自动增长的数字做唯一关键字,应该先建立一个序列号.CREATE
SEQUENCE
序列号的名称
(最好是表名+序列号标记)
INCREMENT
BY
1
START
WITH
1
MAXVALUE
99999
NOCYCLE
NOCACHE其中最大的值按字段的长度来定,比如定义的自动增长的序列NUMBER(6)
,
最大值为999999INSERT
语句插入这个字段值为:
序列号的名称.NEXTVAL例子:
SQL>
insert
into
s_dept(id,
name,
region_id)
values
(s_dept_id.nextval,
‘finance’,
2)1
row
created.只有运行了序列号的名称.
nextval后序列号的名称.
currval
才有效才有值.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)