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

แบบสอบถาม MySQL เพื่อรับค่าสูงสุดด้วยค่าตัวเลขในฟิลด์ varchar?


เพื่อให้ได้ค่าสูงสุด ให้ใช้ฟังก์ชัน max() ให้เราสร้างตารางก่อน -

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

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก -

mysql> แทรกลงใน findMaxValueInVarcharField(Value) values('200');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงใน findMaxValueInVarcharField(Value) values('1000'); Query OK, 1 แถวได้รับผลกระทบ ( 0.25 วินาที) mysql> แทรกลงใน findMaxValueInVarcharField(Value) ค่า ('899474'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงใน findMaxValueInVarcharField (Value) ค่า ('39474'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงใน findMaxValueInVarcharField(Value) values('4958'); ตกลง, 1 แถวได้รับผลกระทบ (0.12 วินาที)

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

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

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

<ก่อนหน้า>+----+---------+| รหัส | ความคุ้มค่า |+---+-------+| 1 | 200 || 2 | 1000 || 3 | 899474 || 4 | 39474 || 5 | 4958 |+----+-------+5 แถวในชุด (0.00 วินาที)

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

mysql> เลือก max(cast(Value as unsigned) ) AS MaximumValueFromVarcharField fromfindMaxValueInVarcharField;

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

<ก่อนหน้า>+-----------------------------+| MaximumValueFromVarcharField |+------------------------------+| 899474 |+------------------------------+1 แถวในชุด (0.00 วินาที)