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

เลือกเร็กคอร์ดสุ่มสามรายการโดยมีจำนวนอักขระคงที่สำหรับแต่ละค่าคอลัมน์ใน MySQL


สำหรับสิ่งนี้ คุณสามารถใช้ CHAR_LENGTH() ใช้ RAND() สำหรับบันทึกแบบสุ่ม ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (ข้อความหัวเรื่อง) ตกลงแบบสอบถาม 0 แถวได้รับผลกระทบ (0.61 วินาที)

ตัวอย่าง

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

mysql> แทรกลงในค่า DemoTable ('C'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรก ลงในค่า DemoTable ('Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('MongoDB'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.59 วินาที) mysql> แทรกลงในค่า DemoTable ('RubyOnRails '); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า DemoTable ('C ++'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('Python'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-------------+| หัวเรื่อง |+-------------+| ค || MySQL || ชวา || MongoDB || RubyOnRails || C++ || Python |+-------------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกระเบียนสุ่ม 3 รายการที่มีจำนวนอักขระคงที่สำหรับแต่ละ -

mysql> select *from(select *from DemoTable WHERE CHAR_LENGTH(Subject) =7 ORDER BY RAND() LIMIT 1 ) tblUNION(select *from DemoTable WHERE CHAR_LENGTH(Subject) =11 ORDER BY RAND() LIMIT 1 )UNION (เลือก *จาก DemoTable WHERE CHAR_LENGTH(Subject) =5 ORDER BY RAND() LIMIT 1 );

ผลลัพธ์

<ก่อนหน้า>+-------------+| หัวเรื่อง |+-------------+| MongoDB || RubyOnRails || MySQL |+-------------+3 แถวในชุด (0.04 วินาที