ยินดีต้อนรับ

SQL Server ระดับกลาง

Ginger Grant

Instructor

ภาพรวมของคอร์ส

  • บทที่ 1: การสรุปข้อมูล

  • บทที่ 2: ฟังก์ชันวันที่และคณิตศาสตร์

  • บทที่ 3: การประมวลผลข้อมูลด้วย T-SQL

  • บทที่ 4: Window functions

SQL Server ระดับกลาง

สำรวจข้อมูลด้วย Aggregation

  • การตรวจสอบค่าสรุปของแต่ละคอลัมน์เป็นขั้นตอนแรกที่พบบ่อยในการวิเคราะห์ข้อมูล

  • หากข้อมูลอยู่ในฐานข้อมูล วิธีที่เร็วที่สุดในการรวมข้อมูลคือการใช้ SQL

SQL Server ระดับกลาง

สำรวจข้อมูลด้วย EconomicIndicators

SELECT Country, Year, InternetUse, GDP,
       ExportGoodsPercent, CellPhonesper100 
FROM EconomicIndicators
+-----------+-----+------------+------------+------------------+-----------------+
|Country    |Year |InternetUse | GDP        |ExportGoodsPercent|CellPhonesper100 | 
+-----------+-----+------------+------------+------------------+-----------------+
|Swaziland  |2011 |20.43165813 |7335004354  |56.30476059       |63.7015615       |
|Sweden     |2011 |90.88204559 |394271163688|49.93022195       |118.5711258      |
|Switzerland|2011 |82.98773087 |395111518596|51.20242546       |130.0623629      |
...
+-----------+-----+------------+------------+------------------+-----------------+
SQL Server ระดับกลาง

สถิติสรุปที่ใช้บ่อย

  • MIN() สำหรับค่าต่ำสุดของคอลัมน์
  • MAX() สำหรับค่าสูงสุดของคอลัมน์
  • AVG() สำหรับค่าเฉลี่ยของคอลัมน์
SQL Server ระดับกลาง

สถิติสรุปใน T-SQL

คิวรี T-SQL นี้คืนค่ารวมของคอลัมน์ InternetUse

SELECT AVG(InternetUse) AS MeanInternetUse, 
MIN(InternetUse) AS MINInternet, 
MAX(InternetUse) AS MAXInternet 
FROM EconomicIndicators

+-------------------+------------+-------------+ |MeanInternetUse |MINInternet | MAXInternet| |-------------------+------------+-------------| | 18.9854496196171| 0 | 375.5970064| +-------------------+------------+-------------+
SQL Server ระดับกลาง

กรองข้อมูลสรุปด้วย WHERE

คิวรี T-SQL นี้กรองค่ารวมด้วย WHERE clause สังเกตว่าค่าข้อความอยู่ใน

SELECT AVG(InternetUse) AS MeanInternetUse, 
MIN(InternetUse) AS MINInternet, 
MAX(InternetUse) AS MAXInternet 
FROM EconomicIndicators
WHERE Country = 'Solomon Islands'
+-------------------+------------+-------------+
|MeanInternetUse    |MINInternet |  MAXInternet|
|-------------------+------------+-------------|
|            1.79621|          0 |         6.00|
+-------------------+------------+-------------+
SQL Server ระดับกลาง

จัดกลุ่มข้อมูลด้วย GROUP BY

SELECT Country, AVG(InternetUse) AS MeanInternetUse, 
MIN(InternetUse) AS MINInternet, 
MAX(InternetUse) AS MAXInternet 
FROM EconomicIndicators
GROUP BY Country
+--------------------+------------------+------------+-------------+
|  Country           |MeanInternetUse   |MINInternet |  MAXInternet|
|--------------------+------------------+------------+-------------|
|Solomon Islands     |           1.79621|           0|         6.00|
|Hong Kong           |          245.1067|           0|       375.00|
|Liechtenstein       |           63.8821|     36.5152|        85.00|
...
+--------------------+------------------+------------+-------------+
SQL Server ระดับกลาง

HAVING คือ WHERE สำหรับ Aggregation

ไม่สามารถใช้ WHERE ร่วมกับ GROUP BY ได้ เพราะจะเกิดข้อผิดพลาด

-- This throws an error
...
GROUP BY
WHERE Max(InternetUse) > 100  

ให้ใช้ HAVING แทน

-- This is how you filter with a GROUP BY
...
GROUP BY
HAVING Max(InternetUse) > 100
SQL Server ระดับกลาง

HAVING คือ WHERE สำหรับ Aggregation

SELECT Country, AVG(InternetUse) AS MeanInternetUse, 
MIN(GDP) AS SmallestGDP,
MAX(InternetUse) AS MAXInternetUse
FROM EconomicIndicators
GROUP BY Country
HAVING MAX(InternetUse) > 100
+--------------+-------------------+-------------+---------------+
|Country       |MeanInternetUse    |SmallestGDP  | MAXInternetUse|
|--------------+-------------------+-------------+---------------|
|Macedonia     |   71.3060150792857| -0.465059948|    110.5679538|
|Hong Kong     |   245.106718614286|            0|    375.5970064|
|Congo         |   60.8972476010714| -9.492757847|    104.6455529|
...
+--------------+-------------------+-------------+---------------+
SQL Server ระดับกลาง

ตรวจสอบข้อมูล UFO ในตาราง Incidents

  • แบบฝึกหัดนี้จะสำรวจข้อมูลจาก Mutual UFO Network
  • รายงานการพบ UFO ทั่วโลกถูกเก็บไว้ในตาราง Incidents
SQL Server ระดับกลาง

มาฝึกกันเถอะ!

SQL Server ระดับกลาง

Preparing Video For Download...