×

memories or

memories什么意思?oracle 分页查询 为什么第一次子查询用rownum,第二次用rn,其他方式都不可以呢

admin admin 发表于2022-05-20 02:20:09 浏览115 评论0

抢沙发发表评论

memories什么意思


Memories: 回忆;回忆三部曲;爱比记忆…;记忆

memories
n.memory的变形

memory [’meməri]
n.
1. 记忆;记忆力
2. 回忆;回忆起来的事;能记得的情况
3. 留在记忆中的人(或事物);(人或事物)留在记忆里的印象
4. 记忆范围;记忆所及的时间;追忆所及年限
5. 纪念
6. 死后的名声;对死者的追思;亡灵;人格
7. 【化学、物理学】弹性复原性;塑性记忆
8. 【计算机】存储器;(存储器的)存储量 [亦作 computer memory storage]

oracle 分页查询 为什么第一次子查询用rownum,第二次用rn,其他方式都不可以呢


rownum 是一个虚列,不属于表,只是用来给结果序号
要考虑结果逻辑。
比如我可以写rownum》0或者rownum 》= 1,查询结果是全部结果
但是如果写rownum 》 1 结果就是空的。
解答:因为第一个结果rownum应该为1,不符合,所以排除
第二条,因为第一条被排除了,这一条应被安排在结果的第一个,rownum也应该排为1,所以不符合,排除
依次类推,全部都不符合,所以结果为空
而如果我将rownum作为一个临时结果,再从这个临时结果进行查询,就可以使用这个值了
所以我们可以先成立一个临时结果:select t1.*, rownum as “rn“ from t1
然后从这个结果尽心查询:select * from (select t1.*, rownum as “rn“ from t1) where “rn“ 》 10 and “rn“ 《= 20
但是一般都会把小于等于放在第一个结果中,因为第一个结果是临时的,会占用内存,而且还不确定这个表的数据量具体有多大,所以,尽量减少临时结果的大小,能起到增加效率的效果
select * from (select t1.*, rownum as “rn“ from t1 where rownum 《= 20) where “rn“ 》 10
注:你提到的rn,并不是一个固定值,而是临时存放rownum的临时结果的列,起了一个名字叫rn, 在字段的后面,用[as 列名] 表示,也能用 [as “列名“]表示,语句当然可以写成:select * from (select t1.*, rownum as aaa1234 from t1) where aaa1234 》 10 and aaa1234 《= 20;
别名的命名规则基本上是毫无顾忌的。只是如果不符合命名规则,比如数字开头,拥有空格,运算符号,关键字 等情况的列名,需要用双引号引起来,但是要注意,双引号的列名,使用时也最好(非必须)用双引号,因为系统执行sql语句时,会将没有引号的字母全部翻译成大写,再执行,如果使用as “rn“ ,然后使用rn查询时,查询语句中的rn会翻译成RN,与字段名的rn对应不上,报:找不到该字段的错误。(当然,如果定义为 “RN“,查询语句中用rn 可以对应上,中文,大写,符号,都无大小写之分)
比如:
select * from (select t1.*, rownum as 1234 from t1) where 1234 》 10 and 1234 《= 20; 会报错,因为1234不符合字段命名规则
select * from (select t1.*, rownum as “1234“ from t1) where 1234 》 10 and 1234 《= 20; 查询为空,因为后一个1234会被认为是数字,而1234《= 20是一个恒false的条件
select * from (select t1.*, rownum as “1234“ from t1) where “1234“ 》 10 and “1234“ 《= 20; 查询结果正常

目前深度学习的模型有哪几种适用于哪些问题


核心有几个
卷积神经网络CNN,用来做图像处理的
循环神经网络RNN,用来处理带顺序关系的数据
对抗生成网络GAN,是一种概率生成模型
transformer注意力模型,用来做序列到序列计算的
更多的是他们的变种。数不清
-memories