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

เราสามารถใช้ IFNULL ร่วมกับ MySQL ORDER BY ได้หรือไม่


คุณสามารถใช้ IFNULL พร้อมกับคำสั่ง ORDER BY ไวยากรณ์มีดังนี้ −

เลือก *FROM yourTableName ORDER BY IFNULL(yourColumnName1,yourColumnName2);

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง IfNullDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> ProductName varchar(10), -> ProductWholePrice float, -> ProductRetailPrice float, -> PRIMARY KEY(Id) -> );Query OK , ได้รับผลกระทบ 0 แถว (1.19 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงใน IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) values('Product-1',99.50,150.50);Query OK, 1 แถวที่ได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงใน IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) ค่า ('Product-2', NULL, 76.56); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงใน IfNullDemo (ProductName, ProductWholePrice, ProductRetailPrice) ค่า ('Product-3',105.40, NULL); แบบสอบถามตกลง , แทรก 1 แถวที่ได้รับผลกระทบ (0.20 วินาที)mysql> ลงในค่า IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) ('Product-4',NULL,NULL);Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน IfNullDemo(ProductName) ,ProductWholePrice,ProductRetailPrice) values('Product-5',209.90,400.50);ตกลง, 1 แถวได้รับผลกระทบ (0.14 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+-------------+-------------------+------- --------------+| รหัส | ชื่อสินค้า | สินค้าราคาทั้งหมด | สินค้าราคาขายปลีก |+----+-------------+-------------------+-------- --------------+| 1 | สินค้า-1 | 99.5 | 150.5 || 2 | สินค้า-2 | NULL | 76.56 || 3 | สินค้า-3 | 105.4 | NULL || 4 | สินค้า-4 | NULL | NULL || 5 | สินค้า-5 | 209.9 | 400.5 |+----+--------------------------+-------------------+-------- ------------+5 แถวในชุด (0.02 วินาที)

นี่คือแบบสอบถามที่จะสั่งซื้อโดยถ้าเป็นโมฆะ -

mysql> เลือก *จากคำสั่งซื้อ IfNullDemo โดย ifnull(ProductWholePrice,ProductRetailPrice);

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+-------------+-------------------+------- --------------+| รหัส | ชื่อสินค้า | สินค้าราคาทั้งหมด | สินค้าราคาขายปลีก |+----+-------------+-------------------+-------- --------------+| 4 | สินค้า-4 | NULL | NULL || 2 | สินค้า-2 | NULL | 76.56 || 1 | สินค้า-1 | 99.5 | 150.5 || 3 | สินค้า-3 | 105.4 | NULL || 5 | สินค้า-5 | 209.9 | 400.5 |+----+--------------------------+-------------------+-------- ------------+5 แถวในชุด (0.00 วินาที)