成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十條命令,精通SQL數據清洗、集成和轉換

數據庫 其他數據庫
實際上,數據準備階段通常占據了整個數據分析工作的80%多的的工作量。這個階段的任務是整理和清理數據,以確保其質量和一致性,并進行必要的數據集成和轉換,以滿足分析需求。

數據準備是數據分析師工作中非常重要的一部分。在進行數據分析之前,必須對數據進行準備,以確保數據呈現出自己和其他人都能理解的格式,從而為后續工作鋪平道路。

實際上,數據準備階段通常占據了整個數據分析工作的80%多的的工作量。這個階段的任務是整理和清理數據,以確保其質量和一致性,并進行必要的數據集成和轉換,以滿足分析需求。

1 數據清洗

數據清洗是將數據格式化并符合要求,通過刪除或修復不正確或不一致的部分來實現。

以下是其中的常見任務:

1.1 消除重復項

獲取唯一的記錄

SELECT DISTINCT order_id FROM orders;

獲取該屬性的第一條唯一記錄

SELECT DISTINCT ON ( customer_id ) * FROM orders;

1.2 處理缺失值

選擇列表中第一個非空值

SELECT COALESCE ( order_date , CURRENT_DATE ) FROM orders;

訂單金額為 0 時應視為無效

SELECT NULLIF ( order_amount , 0 ) FROM orders;

CASE 用于為缺失值賦予新的身份

SELECT CASE WHEN order_amount > 1000 THEN 'High' WHEN order_amount BETWEEN 500 AND 1000 THEN 'Medium' WHEN order_amount < 500 THEN 'Low' ELSE 'Unknown';

1.3  標準化不匹配的數據類型

使用 CAST 函數可以直接轉換數據類型,就像直接處理數據一樣。

如果訂單金額是數字,但需要它作為整數,CAST 可以實現這一點。

SELECT CAST ( order_amount AS INTEGER ) FROM orders;

使用 CONVERT 函數可以間接地根據另一個值的數據類型更改值的數據類型

SELECT CONVERT ( order_date , CURRENT_DATE ) FROM orders;

使用 FORMAT 函數可以將值按照特定的模式進行格式化,這是關于數據的樣式

SELECT FORMAT ( order_date , 'YYYY-MM-DD') FROM orders;

1.4 分組和篩選數據操作

這些操作可以幫助數據分析師根據更具體的標準對數據進行精簡、匯總或整理。

按客戶ID分組并計算總金額和平均金額

SELECT customer_id , SUM ( order_amount ) AS total_amount , AVG ( order_amount ) AS average_amount FROM orders GROUP BY customer_id;

篩選出消費額超過5000美元的客戶

SELECT customer_id , SUM ( order_amount ) > 5000;

查看2024年1月份的訂單

SELECT * FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-01-31';

2 數據集成

數據集成是將來自不同來源的數據合并為一致的數據集的過程。

使用SQL連接和聯合來合并數據就像拼接一幅拼圖一樣。

2.1 SQL連接

SELECT * FROM orders JOIN customers ON orders.customer_id = customers.customer_id;

連接訂單表和客戶表,將每個訂單與其對應的客戶詳細信息一起顯示。

2.2 Union vs. Union ALL

UNION:它能去除重復的行,只保留不重復的行。

UNION ALL:保留所有行,包括重復的行。

SELECT * FROM orders UNION SELECT * FROM returns;

顯示訂單和退貨的合并視圖,這兩者的結構相似。

3 數據轉換

數據轉換涉及調整數據結構甚至調整實際內容。

3.1 創建新變量

使用以下SQL查詢,根據訂單金額將每個訂單分類為“高”、“中”、“低”或“未知”:

SELECT order_amount,
       CASE WHEN order_amount > 1000 THEN 'High'
            WHEN order_amount BETWEEN 500 AND 1000 THEN 'Medium'
            WHEN order_amount < 500 THEN 'Low'
            ELSE 'Unknown'
       END AS order_level
FROM orders;

3.2 聚合數據

使用SUM、COUNT、AVG、MIN、MAX、AND、GROUP和CONCAT等函數來聚合數據。例如,以下查詢按客戶ID分組,計算每個客戶的訂單總金額和平均金額:

SELECT customer_id,
       SUM(order_amount) AS total_amount,
       AVG(order_amount) AS average_amount
FROM orders
GROUP BY customer_id;

3.3 應用統計和數學函數

使用STDDEV、VARIANCE、ROUND、FLOOR和CEIL等函數。例如,以下查詢將訂單金額精確到小數點后兩位:

SELECT ROUND(order_amount, 2) FROM orders;

3.4 排序和排名數據

使用ORDER BY、LIMIT、OFFSET或RANK等函數。例如,以下查詢按訂單日期降序排列,僅顯示前10個訂單:

SELECT * FROM order ORDER BY order_date DESC LIMIT 10;
責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2009-04-08 10:51:59

SQL優化經驗

2011-08-02 21:16:56

查詢SQL性能優化

2010-06-22 10:00:31

SQL查詢

2012-05-15 01:38:18

編程編程技巧編程觀點

2012-08-02 09:14:13

編程戒律

2025-05-21 00:10:00

2010-12-02 14:29:07

nmap

2022-02-14 00:16:17

數據安全云安全

2023-11-10 18:03:04

業務場景SQL

2011-07-27 09:17:20

.NET設計架構

2012-03-06 16:01:04

項目管理

2010-01-13 18:00:01

華為交換機命令

2025-03-19 08:21:15

2025-05-15 20:55:38

2012-09-28 09:12:39

移動Web

2009-05-19 10:14:44

Innodb字段MySQL

2009-01-15 09:57:00

2010-08-02 10:23:44

服務器虛擬化

2021-03-18 09:00:00

微服務架構工具

2011-04-14 11:43:47

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产一区在线 | www.99re| 亚洲第一av | 亚洲精品国产综合区久久久久久久 | 亚洲黄色视屏 | 国产精品一区2区 | 亚洲一二三区在线观看 | 不卡视频一区二区三区 | 国产精品久久久久久久久久 | 99精品视频免费观看 | h视频免费在线观看 | 国产精品99| 亚洲精品日韩一区二区电影 | 久久精品99国产精品日本 | 在线国产视频 | 欧美视频精品 | 久久亚洲一区二区三区四区 | 亚洲综合免费 | 日本一区二区三区免费观看 | 亚洲一区二区三区在线视频 | 成人二区 | 亚洲视频在线看 | 日韩在线中文字幕 | 九九综合 | 91文字幕巨乱亚洲香蕉 | 日韩成人久久 | 亚洲精品视频在线播放 | 亚洲综合婷婷 | 91久久久久 | 羞羞视频在线观看免费观看 | 91精品国产自产精品男人的天堂 | 性国产丰满麻豆videosex | 99re在线视频 | 久草.com | 91av视频 | 久久精品国产免费高清 | 久久久国产一区二区 | 欧美日韩一区二区三区不卡视频 | 日日噜噜夜夜爽爽狠狠 | 日韩不卡视频在线 | 色av一区 |