เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ลบข้อมูลซ้ำด้วย DISTINCT()

คุณต้องการทราบว่าเมืองใดอยู่ใกล้กับแผ่นดินไหวขนาด 8 ริกเตอร์ขึ้นไปมากที่สุด ข้อมูลนี้ดึงมาจากตาราง Earthquakes ได้ แต่การ query แบบธรรมดาจะคืนค่าแถวซ้ำ เนื่องจากบางเมืองเคยเกิดแผ่นดินไหวขนาด 8 ขึ้นไปมากกว่าหนึ่งครั้ง

ใช้ clause DISTINCT() เพื่อลบข้อมูลที่ซ้ำกันออก จากนั้นหาว่าแต่ละเมืองเคยเกิดแผ่นดินไหวขนาด 8 ขึ้นไปกี่ครั้ง

สังเกตว่าใช้ IS NOT NULL เนื่องจากแผ่นดินไหวหลายครั้งไม่ได้เกิดใกล้พื้นที่ชุมชน ซึ่งถือเป็นเรื่องโชคดี

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การปรับปรุงประสิทธิภาพคิวรีใน SQL Server

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

SELECT ___, -- Add the closest city
		Country 
FROM Earthquakes
WHERE Magnitude >= 8
	AND NearestPop IS NOT NULL
ORDER BY NearestPop;
แก้ไขและรันโค้ด