วางแผนคิวรี

การรายงานผลด้วย SQL

Tyler Pernes

Learning & Development Consultant

เป้าหมายของบท

การรายงานผลด้วย SQL

คำถามที่ควรถาม

  • ตารางไหนที่ต้องดึงข้อมูล?
  • จะรวมตารางอย่างไร?
  • ต้องสร้างฟิลด์อะไรบ้าง?
  • มีตัวกรองอะไรที่ต้องใส่?
  • จำเป็นต้องมีการเรียงลำดับหรือจำกัดจำนวนไหม?
การรายงานผลด้วย SQL

สถานการณ์

Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
| Winter   | Female Age 13-25   | 4     |
| Summer   | Female Age 26+     | 2     |
+----------+--------------------+-------+
การรายงานผลด้วย SQL

1 - ตารางไหนที่ต้องดึงข้อมูล?

การรายงานผลด้วย SQL

2 - จะรวมตารางอย่างไร?

การรายงานผลด้วย SQL

2 - จะรวมตารางอย่างไร?

การรายงานผลด้วย SQL

2 - จะรวมตารางอย่างไร?

การรายงานผลด้วย SQL

2 - จะรวมตารางอย่างไร?

การรายงานผลด้วย SQL

3 - ต้องสร้างฟิลด์อะไรบ้าง?

+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
  • season - static string
  • demographic_group - conditional
  • golds - SUM()
การรายงานผลด้วย SQL

4 - มีตัวกรองอะไรที่ต้องใส่?

Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
  • ใช้ WHERE หรือ HAVING?
  • กรองบน dimension = WHERE
การรายงานผลด้วย SQL

5 - จำเป็นต้องเรียงลำดับหรือจำกัดจำนวนไหม?

Gold Medals by Demographic Group
(Western European Countries Only)
+----------+--------------------+-------+
| season   |  demographic_group | golds |
|----------|--------------------|-------|
| Winter   | Male Age 26+       | 13    |
| Winter   | Female Age 26+     | 8     |
| Summer   | Male Age 13-25     | 7     |
| Summer   | Female Age 13-25   | 6     |
| Winter   | Male Age 13-25     | 4     |
| Summer   | Male Age 26+       | 4     |
+----------+--------------------+-------+
  • ไม่จำเป็นต้องใช้ LIMIT
  • เรียงลำดับตาม golds จากมากไปน้อย
การรายงานผลด้วย SQL

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

การรายงานผลด้วย SQL

Preparing Video For Download...