#牛客在线求职答疑中心#查多个表里所有字段空值率大于50的字段
全部评论
要检查多个表中所有字段空值率大于50%的字段,通常需要使用SQL查询语句来实现。以下是一个基本的SQL查询示例,假设我们有两个表`table1`和`table2`:
```sql
SELECT
'table1' AS table_name,
column_name,
COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table1) AS null_percentage
FROM
information_schema.columns
WHERE
table_name = 'table1' AND
table_schema = 'your_database_name' AND
is_nullable = 'YES'
GROUP BY
column_name
HAVING
COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table1) > 50
UNION ALL
SELECT
'table2' AS table_name,
column_name,
COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table2) AS null_percentage
FROM
information_schema.columns
WHERE
table_name = 'table2' AND
table_schema = 'your_database_name' AND
is_nullable = 'YES'
GROUP BY
column_name
HAVING
COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table2) > 50;
```
请注意以下几点:
1. 将`your_database_name`替换为你的数据库名称。
2. 将`table1`和`table2`替换为你想要检查的实际表名。
3. `information_schema.columns`是MySQL数据库中一个特殊的表,它提供了关于数据库中所有表和列的元数据。
4. `is_nullable = 'YES'`用于筛选出可以为NULL的字段。
5. `COUNT(*) * 100.0 / (SELECT COUNT(*) FROM table)`计算每个字段的空值百分比。
6. `HAVING`子句用于筛选出空值率大于50%的字段。
7. `UNION ALL`用于合并多个表的查询结果。
请根据你的数据库类型(如MySQL、PostgreSQL、SQL Server等)和具体需求调整上述SQL语句。如果你使用的是不同的数据库系统,语法可能会有所不同。
牛可乐好牛
相关推荐


旷视
| 校招
| 84个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享


TP-LINK
| 校招
| 超多精选岗位
点赞 评论 收藏
分享