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

ฉันจะค้นหาเปอร์เซ็นต์ของผู้ใช้ที่มีวันเกิดระหว่างปี 1980 ถึงปี 1996 ใน MySQL ได้อย่างไร


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> DateOfBirth varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('2019/01/31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable ('1980/02/01'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable ('1985/04/10'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ('1995/06/04'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า DemoTable ('1990/12/24'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable ('1996/11/04'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-------------+| วันเกิด |+-------------+| 2019/01/31 || 1980/02/01 || 1985/04/10 || 1995/06/04 || 1990/12/24 || 1996/11/04 |+-------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาเปอร์เซ็นต์ของผู้ใช้ที่มีวันเกิดระหว่างปี 1980 ถึง 1996 -

mysql> SELECT ผลรวม (DateOfBirth BETWEEN '1980/01/01' AND '1996/12/31') * 100 / Count(*) เป็นเปอร์เซ็นต์จาก DemoTable

ผลลัพธ์

<ก่อนหน้า>+-----------+| เปอร์เซ็นต์ |+-----------+| 83.3333 |+------------+1 แถวในชุด (0.00 วินาที)