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

จะรวมเซลล์ในคอลัมน์ได้อย่างไรหากตรงตามเงื่อนไขในคอลัมน์อื่นที่มี MySQL


สำหรับสิ่งนี้ คุณสามารถใช้ฟังก์ชันการรวม SUM() ร่วมกับส่วนคำสั่ง GROUP BY ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> EmployeeName varchar(20), -> JoiningDate date, -> Salary int -> );Query OK, 0 แถวได้รับผลกระทบ (0.54 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('David','2019-11-02',400); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.52 วินาที)mysql> แทรกลงในค่า DemoTable ('Robert','2018-11 -25',100);ตกลง, 1 แถวได้รับผลกระทบ (0.39 วินาที)mysql> แทรกลงในค่า DemoTable ('Bob','2019-12-14',600); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.25 วินาที)mysql> แทรกลงในค่า DemoTable ('Carol','2019-11-03',300) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.23 วินาที)

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

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

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

<ก่อนหน้า>+-------------+-------------+---------+| ชื่อพนักงาน | เข้าร่วมวันที่ | เงินเดือน |+-------------+-------------+-------+| เดวิด | 2019-11-02 | 400 || โรเบิร์ต | 2018-11-25 | 100 || บ๊อบ | 2019-12-14 | 600 || แครอล | 2019-11-03 | 300 |+--------------+-------------+-------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรวมเซลล์ในคอลัมน์หากตรงตามเงื่อนไขในคอลัมน์อื่น -

mysql> เลือกปี (JoiningDate) เป็น JoiningYear, -> month(JoiningDate) เป็น JoiningMonth, -> sum(Salary) เป็น Total, -> group_concat(EmployeeName) เป็น Name -> จาก DemoTable -> group by JoiningYear,JoiningMonth;

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

<ก่อนหน้า>+-------------+--------------+-------+--------- ----+| เข้าร่วมปี | เข้าร่วมเดือน | ทั้งหมด | ชื่อ |+-------------+--------------+-------+---------- ----+| 2018 | 11 | 100 | โรเบิร์ต || 2019 | 11 | 700 | เดวิด,แครอล || 2019 | 12 | 600 | บ๊อบ |+-------------+--------------+-------+---------- ---+3 แถวในชุด (0.04 วินาที)