Oracle中查询一个表的数据但需要判断数据中存在status=60的条目如果等于60条目数为查询的所有就显示全部反之显示非全部
时间: 2024-03-21 16:41:04 浏览: 20
可以使用以下SQL语句实现:
```sql
SELECT * FROM 表名
WHERE status != 60 OR
(status = 60 AND
(SELECT COUNT(*) FROM 表名 WHERE status = 60) =
(SELECT COUNT(*) FROM 表名))
```
这条SQL语句使用了子查询来判断是否存在status=60的条目以及它们的数量是否等于表中所有条目的数量。如果存在且数量相等,则显示所有数据;反之,则只显示非全部的数据。
相关问题
Oracle 查询一个表数据 ,有N条数据 ,其中N条有X条的status=60 判断如果总条目数和为status=60的条目一样就在sta字段显示全部
可以使用以下 SQL 语句查询:
```
SELECT *,
CASE
WHEN COUNT(*) OVER() = COUNT(CASE WHEN status = 60 THEN 1 END) OVER()
THEN '全部'
ELSE NULL
END AS sta
FROM 表名;
```
其中,使用 COUNT 函数和 OVER() 分析函数来获取总条目数和 status=60 的条目数。然后使用 CASE WHEN 语句来判断是否相等,如果相等,则在 sta 字段显示“全部”,否则为空。
在Oracle数据库中如何查询一个表生成数据文件的记录数
您可以使用如下SQL语句查询一个表生成数据文件的记录数:
```
SELECT NUM_ROWS FROM USER_TABLES WHERE TABLE_NAME = 'table_name';
```
其中,`table_name`是您要查询记录数的表名。这条SQL语句会返回该表生成数据文件时的记录数。需要注意的是,如果该表在生成数据文件之后有过DML操作,那么该记录数可能已经过时,不再准确。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)