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

จะ SELECT บันทึกได้อย่างไรถ้าค่าสัมบูรณ์ของความแตกต่างระหว่างสองค่ามากกว่าจำนวนที่กำหนด?


หากต้องการ SELECT บันทึกถ้าค่าสัมบูรณ์ของความแตกต่างระหว่างสองค่ามากกว่าจำนวนที่แน่นอน ไวยากรณ์ดังต่อไปนี้:

เลือก *จาก yourTableName โดยที่ abs(yourColumnName1-yourColumnName2)>=yourCertainNumber;

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

mysql> สร้างตาราง DemoTable ( Number1 int , Number2 int); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงในค่า DemoTable (10,20) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable (100,200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable ค่า (400,300); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (1000,500); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)

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

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

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

<ก่อนหน้า>+---------+---------+Number1 | ที่ 2 |+---------+---------+| 10 | 20 || 100 | 200 || 400 | 300 || 1000 | 500 |+---------+---------+4 แถวในชุด (0.00 วินาที)

ให้เราเขียนแบบสอบถามไปยังระเบียน SELECT ถ้าค่าสัมบูรณ์ของความแตกต่างระหว่างสองค่ามากกว่าจำนวนที่กำหนด ในที่นี้ จำนวนของเราคือ 100 ซึ่งจะเปรียบเทียบค่าสัมบูรณ์:

mysql> เลือก *จาก DemoTable โดยที่ abs(Number1-Number2)> 100;

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

<ก่อนหน้า>+---------+---------+| Number1 | ที่ 2 |+---------+---------+| 1000 | 500 |+---------+---------+1 แถวในชุด (0.02 วินาที)