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

ทำการคูณใน SELECT ขึ้นอยู่กับค่าคอลัมน์ใน MySQL หรือไม่


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

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, Value1 int, Value2 int ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.76 วินาที)

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

mysql> แทรกลงในค่า DemoTable(Value1,Value2) (10,5); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (Value1,Value2) (20,0); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable (Value1,Value2) (40,10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงใน DemoTable (Value1, Value2) ค่า (50,0);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

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

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

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

<ก่อนหน้า>+----+---------+-------+| รหัส | Value1 | ค่าที่ 2 |+----+---------+-------+| 1 | 10 | 5 || 2 | 20 | 0 || 3 | 40 | 10 || 4 | 50 | 0 |+----+----------------------+-------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อทำการคูณใน SELECT ขึ้นอยู่กับค่าของคอลัมน์ -

mysql> เลือก Value1,Value2 กรณีเมื่อ Value2> 0 จากนั้น Value1*Value2 อื่น 0 สิ้นสุดเป็นการคูณจาก DemoTable

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

<ก่อนหน้า>+---------+---------+----------------+| Value1 | Value2 | การคูณ |+---------+---------+----------------+| 10 | 5 | 50 || 20 | 0 | 0 || 40 | 10 | 400 || 50 | 0 | 0 |+---------+----------------------+----------------+4 แถวในชุด (0.00 วินาที)