有11条数据,使用SELECT count(1) FROM PROCESSPLAN WHERE ROWNUM = 1为什么返回1
时间: 2024-02-07 20:04:00 浏览: 106
函数的返回值为什么只能有一个
使用 `SELECT count(1) FROM PROCESSPLAN WHERE ROWNUM = 1` 返回 1 的原因是因为 ROWNUM 是 Oracle 数据库特有的一种行号,它是在查询返回结果之后才对结果集进行的行号分配,因此在查询时无法直接使用 ROWNUM 进行条件筛选。
在你的查询语句中 WHERE ROWNUM = 1 的条件会先筛选出结果集的前 1 条记录,然后再检查这 1 条记录中是否有符合条件的记录。由于结果集只有 11 条数据,第一条记录符合条件,因此返回值为 1。
需要注意的是,如果你想要查询符合条件的记录数量,不能直接使用 ROWNUM 进行条件筛选,可以使用其他条件进行筛选,例如:
```
SELECT COUNT(1) FROM PROCESSPLAN WHERE COLUMN_NAME = 'VALUE';
```
其中 `COLUMN_NAME` 是你要查询的列名,`'VALUE'` 是你要查询的值。这样就可以统计符合条件的记录数量了。
阅读全文