当前位置:数据库 > Oracle >>

oracle count(*),count(1)与count(rowid)区别

追问:如果要剔除重复的记录,是不加distinct就行了?
答案:其实都是一样的
count(*),会把星号翻译成字段的名字,计算分组下重复的行数。
count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是计算分组下重复的行数。
同理,count(2), count(3)或者count('x')等等都是一样的结果。
count(rowid)也是一样

这三个结果都是一样的,最终的计算结果就是分组下符合条件的行数。
其他:9i以后的版本这几个是一样的,你可以查看执行计划来确定是否有区别 COUNT(*)是按记录一行行来统计, COUNT(1)只统计行数,至于COUNT(ROWID)按物理号来统计

上一个:用PL/SQL连接ORACLE数据库会出现不定时的掉线
下一个:oracle 跳出一个循环的问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,