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

ดึงค่าสูงสุดจากคอลัมน์ที่มีค่าเป็นตัวเลขสตริง เช่น Value440, Value345 เป็นต้น ในSQL


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

mysql> สร้างตาราง DemoTable1337 -> ( -> ค่า varchar(50) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

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

mysql> แทรกลงในค่า DemoTable1337 ('Value400'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable1337 ('Value345'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรก ลงในค่า DemoTable1337 ('Value567'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable1337 ('Value489'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)

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

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

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

<ก่อนหน้า>+----------+| ความคุ้มค่า |+----------+| มูลค่า400 || มูลค่า345 || ค่า567 || Value489 |+----------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาค่าสูงสุดใน MySQL เมื่อคอลัมน์เป็น varchar -

mysql> เลือก max(cast(substring(Value, 6) เป็น decimal(10,2))) เป็น MaximumValue จาก DemoTable1337;

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

<ก่อนหน้า>+-------------+| ค่าสูงสุด |+-------------+| 567.00 |+-------------+1 แถวในชุด (0.04 วินาที)