my sql统计每列空值和null的数量,并把结果输出到新的数据表
时间: 2024-09-13 10:06:24 浏览: 60
SQL基础篇?修改表内的数据
在MySQL中,统计每列空值和NULL的数量通常需要使用`COUNT`函数结合`IF`条件表达式。首先,你需要对每一列分别进行统计,然后将结果插入到一个新的数据表中。这里提供一个基本的SQL示例,展示如何对一个表中的三列进行统计,并将统计结果插入到另一个表中。
```sql
-- 假设原始数据表名为 original_table,新数据表名为 stats_table,新表结构应包含列名、空值数量和NULL数量
-- 创建一个新表用于存储统计结果
CREATE TABLE IF NOT EXISTS stats_table (
column_name VARCHAR(255),
null_count INT,
empty_count INT
);
-- 对原始表中的每一列进行统计
INSERT INTO stats_table (column_name, null_count, empty_count)
SELECT 'column1', SUM(IF(column1 IS NULL, 1, 0)), SUM(IF(column1 = '', 1, 0))
FROM original_table;
INSERT INTO stats_table (column_name, null_count, empty_count)
SELECT 'column2', SUM(IF(column2 IS NULL, 1, 0)), SUM(IF(column2 = '', 1, 0))
FROM original_table;
INSERT INTO stats_table (column_name, null_count, empty_count)
SELECT 'column3', SUM(IF(column3 IS NULL, 1, 0)), SUM(IF(column3 = '', 1, 0))
FROM original_table;
-- 你可以根据需要继续添加其他列的统计语句
-- 注意:上述语句假设 column1, column2, column3 是要统计的数据列
```
请注意,上述SQL代码需要根据实际的表名和列名进行调整。此外,如果某个列可能包含空字符串('')和NULL值以外的其他形式的“空值”,则可能需要额外的逻辑来处理这些情况。
阅读全文