有11条数据,使用SELECT count(1) FROM PROCESSPLAN WHERE ROWNUM = 5为什么返回0
时间: 2024-02-11 22:05:53 浏览: 78
索引全局统计信息为0导致的执行计划异常,逻辑读消耗1亿多.txt
使用 `SELECT count(1) FROM PROCESSPLAN WHERE ROWNUM = 5` 返回 0 的原因是因为 ROWNUM 是 Oracle 数据库特有的一种行号,它是在查询返回结果之后才对结果集进行的行号分配,因此在查询时无法直接使用 ROWNUM 进行条件筛选。
在你的查询语句中 WHERE ROWNUM = 5 的条件会先筛选出结果集的前 5 条记录,然后再检查这 5 条记录中是否有符合条件的记录。由于结果集只有 11 条数据,前五条并没有符合条件的记录,因此返回值为 0。
如果想要查询符合条件的记录数量,可以使用其他条件进行筛选,例如:
```
SELECT COUNT(1) FROM PROCESSPLAN WHERE COLUMN_NAME = 'VALUE';
```
其中 `COLUMN_NAME` 是你要查询的列名,`'VALUE'` 是你要查询的值。这样就可以统计符合条件的记录数量了。
阅读全文