คำอธิบาย
บทความนี้แสดงวิธีการคำนวณค่าเฉลี่ยของเฉพาะ 3 เรคคอร์ดแรกในคอลัมน์ โดยใช้ Subquery ร่วมกับ LIMIT 3 ใน MySQL
ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง
mysql> create table DemoTable (
Score int );
Query OK, 0 rows affected (0.62 sec)
การเพิ่มข้อมูล
mysql> insert into DemoTable values(80); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(45); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(55); Query OK, 1 row affected (0.33 sec) mysql> insert into DemoTable values(78); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(88); Query OK, 1 row affected (0.13 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable;
ผลลัพธ์:
+-------+ | Score | +-------+ | 80 | | 45 | | 55 | | 78 | | 88 | +-------+ 5 rows in set (0.00 sec)
คิวรี่หาค่าเฉลี่ย 3 ค่าแรก
ใช้ Subquery พร้อม LIMIT 3 เพื่อจำกัดเฉพาะ 3 เรคคอร์ดแรก:
mysql> select avg(Score) from ( select Score from DemoTable limit 3) tbl;
ผลลัพธ์
+------------+ | avg(Score) | +------------+ | 60.0000 | +------------+ 1 row in set (0.00 sec)
สรุป
เทคนิคนี้มีประโยชน์เมื่อต้องการคำนวณสถิติจากช่วงข้อมูลเฉพาะส่วน โดยไม่ต้องเพิ่มเงื่อนไข WHERE ที่ซับซ้อน