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

วิธีการใช้ GROUP ตามช่วงใน MySQL?


หากต้องการจัดกลุ่มตามช่วงใน MySQL ให้เราสร้างตารางก่อน แบบสอบถามในการสร้างตารางมีดังนี้

mysql> สร้างตาราง GroupByRangeDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> YourRangeValue int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.78 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก

แบบสอบถามมีดังนี้

mysql> แทรกลงในค่า GroupByRangeDemo(YourRangeValue)(1);Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า GroupByRangeDemo(YourRangeValue)(7);Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า GroupByRangeDemo (YourRangeValue) (9); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงใน GroupByRangeDemo (YourRangeValue) ค่า (23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน GroupByRangeDemo (YourRangeValue) ค่า (33); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า GroupByRangeDemo (YourRangeValue) (35); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า GroupByRangeDemo (YourRangeValue) (1017);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

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

แบบสอบถามมีดังนี้

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

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---+----------------+| รหัส | YourRangeValue |+----+----------------+| 1 | 1 || 2 | 7 || 3 | 9 || 4 | 23 || 5 | 33 || 6 | 35 || 7 | 1017 |+---+----------------+7 แถวในชุด (0.04 วินาที)

นี่คือแบบสอบถามเพื่อจัดกลุ่มตามช่วง

mysql> เลือกรอบ (YourRangeValue / 10) นับ (YourRangeValue) จาก GroupByRangeDemo โดยที่ YourRangeValue <40 กลุ่มต่อรอบ (YourRangeValue / 10) -> union -> เลือก '40+' นับ (YourRangeValue) จาก GroupByRangeDemo ที่ YourRangeValue>=40;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------------------------------------------------------------- ------+| รอบ(YourRangeValue / 10) | นับ(YourRangeValue) |+----------------------------+--------------- --------+| 0 | 1 || 1 | 2 || 2 | 1 || 3 | 1 || 4 | 1 || 40+ | 1 |+-------------------------------------------------------------------------- -----+6 แถวในชุด (0.08 วินาที)