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

จะรับความแตกต่างระหว่างสองคอลัมน์ในคอลัมน์ใหม่ใน MySQL ได้อย่างไร


ขั้นแรกให้เราสร้างตารางที่มีคอลัมน์ซึ่งเราจะคำนวณความแตกต่างในคอลัมน์ใหม่ -

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, LowValue int, HighValue int); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)

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

mysql> แทรกลงในค่า DemoTable (LowValue, HighValue) (100,200); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable (LowValue, HighValue) (300,700); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.12 วินาที) mysql> แทรกลงในค่า DemoTable (LowValue, HighValue) (1000,2000) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)

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

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

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

<ก่อนหน้า>+----+----------+-----------+| รหัส | ค่าต่ำ | มูลค่าสูง |+----+----------+-----------+| 1 | 100 | 200 || 2 | 300 | 700 || 3 | 1000 | 2000 |+----+----------+-----------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อรับความแตกต่างระหว่าง 2 คอลัมน์ -

mysql> เลือก tbl.Id,tbl.LowValue,tbl.HighValue, HighValue-LowValue AS DifferenceBetweenTwoColumns จาก DemoTable tbl;

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

<ก่อนหน้า>+----+----------+-----------+----------------- ----+| รหัส | ค่าต่ำ | มูลค่าสูง | ความแตกต่างระหว่างสองคอลัมน์ |+----+----------+-----------+------------------- ----+| 1 | 100 | 200 | 100 || 2 | 300 | 700 | 400 || 3 | 1000 | 2000 | 1,000 |+-----------+----------+-----------+------------------- ----------+3 แถวในชุด (0.00 วินาที)