สำหรับสิ่งนี้ คุณสามารถใช้ IF() ร่วมกับฟังก์ชันรวม SUM() ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable1617 -> ( -> varchar(20), -> CurrentYear int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.48 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable1617 ('Present',2019) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable1617 ('ไม่มี', 2019); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที )mysql> แทรกลงในค่า DemoTable1617 ('Absent',2017); Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable1617 ('Present',2019); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable1617 ('ปัจจุบัน', 2018); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที) mysql> แทรกลงในค่า DemoTable1617 ('ปัจจุบัน', 2019); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
mysql> เลือก * จาก DemoTable1617;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+-------------+| ผู้เข้าร่วม | ปีปัจจุบัน |+------------+-------------+| ปัจจุบัน | 2019 || ไม่อยู่ | 2019 || ไม่อยู่ | 2017 || ปัจจุบัน | 2019 || ปัจจุบัน | 2018 || ปัจจุบัน | 2019 |+-----------+-------------+6 แถวในชุด (0.00 วินาที)ต่อไปนี้คือคำถามเพื่อนับจำนวนนักเรียนที่ปัจจุบันและขาดเรียนเป็นเวลาหนึ่งปี
mysql> เลือก sum(if(Attendance='Present',1,0)) เป็น Present , -> sum(if(Attendance='Absent',1,0)) as Absent -> จาก DemoTable1617 -> where ปัจจุบันปีเช่น '2019%';
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+---------+---------+| ปัจจุบัน | ไม่มี |+---------+-------+| 3 | 1 |+---------+---------+1 แถวในชุด (0.00 วินาที)