Select 姓名,性别,Case 性别 When '女' Then Rownum When '男' Then Rownum - (Select Count() From 表名 Where 性别 = '女') End From 表名;
with t as
(select aliushuihao,ascore+bscore score from teacher t1
(select liushuihao,sum(score) score from student group by liushuihao) t2
where aliushuihao=bliushuihao)
select brn,a from t a,(select liushuihao,row_number() over (order by liushuihao) rn from t ) b
where aliushuihao=bliushuihao
能看懂吧?
先按照不重复把流水号排出序号,然后去关联主表
全部选中执行一下,什么都不用改,你把换行和空格弄好了就行
update biao t set 字段= 1 where rowid= (select 字段abc,min(rowid) from biao tt where trowid = ttrowid group by 字段abc ),
set 字段= 2 where rowid= (select 字段abc,max (rowid) from biao tt where trowid = ttrowid group by 字段abc ),
set 字段= 2 where 字段 is null
两个方法:
1,重新创建一个表,然后创建一个序列,把老数据导入新表,删除老表,修改新表名字为老表
2,直接在原来表上增加一个字段,创建一个序列,通过更新的方式修改老数据的这个字段。
具体 *** 作主要是2点,首先是创建一个序列名sequence;
然后是,insert语句的时候:将自增的字段的位置,写成序列名nextval。
从创建表开始,然后创建sequence,到insert语句
1首先创建表
CREATE TABLE "FLOWCAL""T_USERINFO"
( "C_ID" NUMBER(,0),
"C_USER" VARCHAR2(20 BYTE),
"C_PASSWORD" VARCHAR2(20 BYTE),
"C_ROLE" VARCHAR2(20 BYTE),
"C_COMMENT1" VARCHAR2(20 BYTE),
"C_COMMENT2" VARCHAR2(20 BYTE)
)
现在想让C_ID自增一。
2首先创建一个oracle的sequence,sql语句如下:
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
下面的sequence,如下:
CREATE SEQUENCE "FLOWCAL""SEQ_USERINFO"
MINVALUE 0
MAXVALUE 9999999999999999999999999999
INCREMENT BY 1
START WITH 24
CACHE 20
ORDER
CYCLE ;
3通过序列名nextval实现插入时,字段的自增一
当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(,列1值,列2值,);
"序列名"可以替换为自己需要的名字
下面insert语句:
insert into T_USERINFO values(SEQ_USERINFONEXTVAL,'111','11','11','11','11')
比如你要按name 进行group by ,然后按name排序
select row_number() over (order by name) rn,name,sum(计算值) from 表名 group by name以上就是关于oracle数据库如何将查询出来的数据分组合并,并加上顺序号(注:顺序号不是ID值)全部的内容,包括:oracle数据库如何将查询出来的数据分组合并,并加上顺序号(注:顺序号不是ID值)、oracle查询结果显示序列号问题、请教怎样填写oracle表格的序号字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)