Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

รับจำนวนสองฟิลด์ตารางในการสืบค้น MySQL เดียวหรือไม่


สำหรับสิ่งนี้ คุณสามารถใช้คำสั่ง CASE ร่วมกับ SUM() ที่นี่ เราจะหาจำนวนระเบียนชายและหญิงจากคอลัมน์ที่มีค่าเพศของพนักงาน ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( EmployeeGender ENUM('Male','Female')); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.52 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('Male'); Query OK, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า DemoTable ('Female'); Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> ลงในค่า DemoTable ('ชาย'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable ('เพศหญิง'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable ('ชาย '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable ('เพศหญิง'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.08 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------------+| เพศพนักงาน |+----------------+| ชาย || หญิง || ชาย || หญิง || ชาย || หญิง |+----------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับการนับสองเขตข้อมูลตารางในหนึ่งแบบสอบถาม -

mysql> selectsum (กรณีที่ EmployeeGender='Male' แล้ว 1 อื่น ๆ 0 สิ้นสุด) เป็น Total_Number_Of_Male_Employee,sum (กรณีที่ EmployeeGender='Female' แล้ว 1 อื่น ๆ 0 สิ้นสุด) เป็น Total_Number_Of_Female_Employee จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+-------------------------------------+-------------- --------------------+| Total_Number_Of_Male_Employee | Total_Number_Of_Female_Employee |+------------------------------------+--------------- -------------------+| 3 | 3 |+-------------------------------------+-------------- ------------------+1 แถวในชุด (0.00 วินาที