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

ค้นหาค่าเฉลี่ยของบันทึกที่เกี่ยวข้อง (ราคาผลิตภัณฑ์) จากรหัสผลิตภัณฑ์ที่ซ้ำกันใน MYSQL


สำหรับสิ่งนี้ ให้ใช้ AVG() สำหรับค่าเฉลี่ย และ GROUP BY เพื่อจัดกลุ่มบันทึกของคอลัมน์ที่ซ้ำกัน (Product Id) ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1490 -> ( -> ProductId varchar(20), -> ProductPrice int -> );Query OK, 0 แถวได้รับผลกระทบ (0.43 วินาที)

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

mysql> แทรกลงในค่า DemoTable1490 ('PRODUCT_100',700) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)mysql> ลงในค่า DemoTable1490 ('PRODUCT_200',500) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.31 วินาที) )mysql> แทรกลงในค่า DemoTable1490 ('PRODUCT_200',1000); สืบค้นตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable1490 ('PRODUCT_100',1300); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1490 ('PRODUCT_200',300); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

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

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

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

<ก่อนหน้า>+-------------+--------------+| ProductId | ราคาสินค้า |+-------------+--------------+| PRODUCT_100 | 700 || PRODUCT_200 | 500 || PRODUCT_200 | 1000 || PRODUCT_100 | 1300 || PRODUCT_200 | 300 |+-------------+-------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อค้นหาค่าเฉลี่ย -

mysql> เลือก ProductId,avg(ProductPrice) จาก DemoTable1490 -> จัดกลุ่มตาม ProductId;

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

<ก่อนหน้า>+-------------+-------------------+| ProductId | เฉลี่ย(ราคาสินค้า) |+-------------+-------------------+| PRODUCT_100 | 1000000 || PRODUCT_200 | 600.0000 |+-------------+-------------------+2 แถวในชุด (0.03 วินาที)