(select count(*) )和(select count(*) )比较条件问题?

high_land high_land 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的Sql:检索有3条记录
select ri_2.remind_Info_Id as ownerId,rrt_2.remind_Resource_Type_Name as typeName ,
ri_2.content as content,emp_2.email_Address as address ,emp_2.name as addressee,emp_2.name as name
from Remind_Info ri_2, Employee emp_2, Remind_Resource_Type rrt_2
where ri_2.create_Id = emp_2.login_Id and ri_2.remind_Type_Id = 1
and ri_2.close_Flag = 0 and ri_2.remind_Way_Id = 1 and ri_2.overtime_Remind_Owner_Flag = 1
and rrt_2.remind_Resource_Type_Id = 2
and TO_CHAR(ri_2.end_Time - 1/24,'yyyy-mm-dd hh24:mi')<=TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi')
and
(
(select count(*) from Remind_Target rt_2 where ri_2.remind_Info_Id = rt_2.remind_Info_Id)=2
and
(select count(*) from Read_Remind readR_2 where ri_2.remind_Info_Id = readR_2.remind_Entity_Id
and readR_2.remind_Resource_Type_Id = 1 and readR_2.close_Flag = 1 )=0

)
修改后:一条记录也没有,怎么回事?将Selec子句包上To_number()有记录,是3条,但是不知道原理是什么!如果不用To_number可以实现吗,因为在Hql中To_number中的子句不加载。select ri_2.remind_Info_Id as ownerId,rrt_2.remind_Resource_Type_Name as typeName ,
ri_2.content as content,emp_2.email_Address as address ,emp_2.name as addressee,emp_2.name as name
from Remind_Info ri_2, Employee emp_2, Remind_Resource_Type rrt_2
where ri_2.create_Id = emp_2.login_Id and ri_2.remind_Type_Id = 1
and ri_2.close_Flag = 0 and ri_2.remind_Way_Id = 1 and ri_2.overtime_Remind_Owner_Flag = 1
and rrt_2.remind_Resource_Type_Id = 2
and TO_CHAR(ri_2.end_Time - 1/24,'yyyy-mm-dd hh24:mi')<=TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi')
and
(
(select count(*) from Remind_Target rt_2 where ri_2.remind_Info_Id = rt_2.remind_Info_Id)
>
(select count(*) from Read_Remind readR_2 where ri_2.remind_Info_Id = readR_2.remind_Entity_Id
and readR_2.remind_Resource_Type_Id = 1 and readR_2.close_Flag = 1 )

)
...全文

相关推荐

数据库英文面试问题集锦.doc

数据库英文面试问题集锦

omyligaga

图书馆选座项目开发总结(自己编写的小项目,未测试使用过)

对数据库语句的一些处理,比如随机、时间函数等等

yunxi524

SQL21天自学

想要短时间内自学sql 本文带你慢慢熟悉sql

bmingming

MySQL中distinct和count(*)的使用方法比较

首先对于MySQL的DISTINCT的关键字的一些用法: 1.在count 不重复的记录的时候能用到,比如SELECT COUNT( DISTINCT id ) FROM tablename;就是计算talbebname表中id不同的记录有多少条。 2,在需要返回记录不同的id的具体值的时候可以用,比如SELECT DISTINCT id FROM tablename;返回talbebname表中不同的id的具体的值。 3.上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义,比如SELECT DISTINCT id, type FROM tablename;实际上返回的是 i

weixin_38574410

sql server中Select count(*)和Count(1)的区别和执行方式

在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。     往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Count( *)会带来全表扫描。而实际上如何写Count并没有区别。     Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。比如我们看代码1所示,在Count中指定NULL(优化器不允许显式指

weixin_38528180
评论 14
收藏 已收藏
分享
返回顶部
high_land
Oracle 17,133 成员 55,258 内容