当前位置: 首页 > wzjs >正文

北京集团网站建设适合小学生摘抄的新闻2022年

北京集团网站建设,适合小学生摘抄的新闻2022年,武汉做网站互云,那些网站做网批利用 MySQL 进行数据清洗是数据预处理的重要环节,以下是常见的数据清洗操作及对应 SQL 示例:1. 去除重复数据使用 ROW_NUMBER() 或 GROUP BY 识别并删除重复记录。-- 查找重复记录(以 user_id 和 email 为例) WITH Duplicates AS …

        利用 MySQL 进行数据清洗是数据预处理的重要环节,以下是常见的数据清洗操作及对应 SQL 示例:

1. 去除重复数据

使用 ROW_NUMBER() 或 GROUP BY 识别并删除重复记录。

-- 查找重复记录(以 user_id 和 email 为例)
WITH Duplicates AS (SELECT user_id, email, ROW_NUMBER() OVER (PARTITION BY email ORDER BY user_id) AS rnFROM users
)
SELECT * FROM Duplicates WHERE rn > 1;-- 删除重复记录(保留最新的一条)
DELETE FROM users
WHERE user_id NOT IN (SELECT MAX(user_id) FROM users GROUP BY email
);

2. 处理缺失值

  • 填充默认值:使用 COALESCE() 或 IFNULL()
  • 删除缺失值:使用 WHERE 过滤。
-- 填充缺失值(将 NULL 替换为默认值)
UPDATE products
SET price = COALESCE(price, 0),  -- 价格为 NULL 时填充 0category = IFNULL(category, '未知')  -- 分类为 NULL 时填充 '未知'
WHERE price IS NULL OR category IS NULL;-- 删除包含缺失值的记录
DELETE FROM orders
WHERE customer_id IS NULL;

3. 数据标准化(大小写、格式统一)

  • 转换大小写:使用 UPPER() 或 LOWER()
  • 去除空格:使用 TRIM()
  • 日期格式化:使用 STR_TO_DATE() 或 DATE_FORMAT()
-- 统一邮箱为小写
UPDATE users
SET email = LOWER(TRIM(email));-- 标准化日期格式(将 '2023-12-31' 转为 '31-12-2023')
UPDATE orders
SET order_date = DATE_FORMAT(STR_TO_DATE(order_date, '%Y-%m-%d'), '%d-%m-%Y');

4. 处理无效数据

  • 范围过滤:检查数值是否在合理区间。
  • 正则匹配:验证格式(如邮箱、手机号)。
-- 删除年龄小于 0 或大于 120 的记录
DELETE FROM users
WHERE age < 0 OR age > 120;-- 查找不符合邮箱格式的记录
SELECT * FROM users
WHERE email NOT REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$';

5. 数据类型转换

使用 CAST() 或 CONVERT() 转换字段类型。

-- 将字符串类型的价格转为数值类型
ALTER TABLE products
MODIFY price DECIMAL(10, 2) AFTER CAST(price AS DECIMAL(10, 2));

6. 合并 / 拆分字段

  • 合并字段:使用 CONCAT()
  • 拆分字段:使用 SUBSTRING() 或 SUBSTRING_INDEX()
-- 合并姓名(first_name 和 last_name)
UPDATE users
SET full_name = CONCAT(first_name, ' ', last_name);-- 拆分地址(以逗号分隔)
ALTER TABLE customers
ADD street VARCHAR(100),
ADD city VARCHAR(50);UPDATE customers
SET street = SUBSTRING_INDEX(address, ',', 1),city = SUBSTRING_INDEX(address, ',', -1);

7. 异常值处理

通过统计方法(如 Z-score)识别并处理异常值。

-- 计算平均价格和标准差
WITH Stats AS (SELECT AVG(price) AS avg_price,STDDEV(price) AS std_priceFROM products
)
-- 删除价格超过 3 个标准差的异常值
DELETE FROM products
WHERE ABS(price - (SELECT avg_price FROM Stats)) > 3 * (SELECT std_price FROM Stats);

执行建议

  1. 备份数据:清洗前先备份,避免误操作。
  2. 测试逻辑先用 SELECT 验证清洗逻辑,再执行 UPDATE 或 DELETE
  3. 分批处理:大数据量时使用 LIMIT 分批更新,避免锁表。
-- 示例:分批删除重复记录
DELETE FROM users
WHERE user_id IN (SELECT user_id FROM (SELECT user_id, ROW_NUMBER() OVER (PARTITION BY email ORDER BY user_id) AS rnFROM users) tWHERE rn > 1
)
LIMIT 1000;  -- 每次处理 1000 条

http://www.dtcms.com/wzjs/366461.html

相关文章:

  • 动漫网站建站软文推广范文
  • 做优化网站多少钱发帖推广
  • 做阿里巴巴好还是网站好google海外版
  • 网站建设的杂志推广互联网营销
  • 网站怎么建在国外搜索关键词站长工具
  • 新网站怎么发外链图片外链
  • wordpress完全开源吗seo是什么职业
  • 淘宝客自己做网站网络营销的特点是什么
  • 招生平台网站开发sem代运营托管公司
  • 向网站服务器上传网页文件下载百度手机助手app下载并安装
  • 建设个人银行网站郑州seo外包v1
  • dz网站建设一个产品营销策划方案
  • 网站建设合同书(范本)百度数字人内部运营心法曝光
  • 网站页面自动还原代码松原市新闻
  • 网站建设一般要多少钱优化关键词的方法正确的是
  • 网站基础知识广州网站设计建设
  • 大连做网站的科技公司网站交换链接友情链接的作用
  • 金属东莞网站建设技术支持建立网站要多少钱一年
  • 做网站销售一个星期的计划5年网站seo优化公司
  • 哪个网站可以做平面兼职竞价推广代运营服务
  • 做电影网站服务器手机百度网盘下载慢怎么解决
  • 做app简单还是网站百度网址大全官网旧版
  • 料神wordpress建站教程快点tv下载安装
  • 拼多多分销模式seo网络推广
  • 开电商网站需要多少钱游戏推广话术
  • 成都html5网站建设可以免费打广告的网站
  • 南宁市疫情最新情况详细地址seo推广哪家好
  • 深圳网站设计公司哪家便宜学生个人网页制作成品
  • 网站建设广告方案今日重点新闻
  • 什么网络营销seo网站排名查询