Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

क्या हम MySQL ORDER BY के साथ IFNULL का उपयोग कर सकते हैं?

<घंटा/>

आप ऑर्डर द्वारा क्लॉज के साथ IFNULL का उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है -

SELECT *FROM yourTableName ORDER BY IFNULL(yourColumnName1,yourColumnName2);

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> create table IfNullDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> ProductName varchar(10),
   -> ProductWholePrice float,
   -> ProductRetailPrice float,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.19 sec)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> insert into IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) values('Product-1',99.50,150.50);
Query OK, 1 row affected (0.21 sec)
mysql> insert into IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) values('Product-2',NULL,76.56);
Query OK, 1 row affected (0.18 sec)
mysql> insert into IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) values('Product-3',105.40,NULL);
Query OK, 1 row affected (0.20 sec)
mysql> insert into IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) values('Product-4',NULL,NULL);
Query OK, 1 row affected (0.18 sec)
mysql> insert into IfNullDemo(ProductName,ProductWholePrice,ProductRetailPrice) values('Product-5',209.90,400.50);
Query OK, 1 row affected (0.14 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> select *from IfNullDemo;

निम्न आउटपुट है -

+----+-------------+-------------------+--------------------+
| Id | ProductName | ProductWholePrice | ProductRetailPrice |
+----+-------------+-------------------+--------------------+
|  1 | Product-1   |              99.5 |              150.5 |
|  2 | Product-2   |              NULL |              76.56 |
|  3 | Product-3   |             105.4 |               NULL |
|  4 | Product-4   |              NULL |               NULL |
|  5 | Product-5   |             209.9 |              400.5 |
+----+-------------+-------------------+--------------------+
5 rows in set (0.02 sec)

अगर नल द्वारा ऑर्डर करने की क्वेरी है -

mysql> select *from IfNullDemo order by ifnull(ProductWholePrice,ProductRetailPrice);

निम्न आउटपुट है -

+----+-------------+-------------------+--------------------+
| Id | ProductName | ProductWholePrice | ProductRetailPrice |
+----+-------------+-------------------+--------------------+
|  4 | Product-4  |               NULL |               NULL |
|  2 | Product-2  |               NULL |              76.56 |
|  1 | Product-1  |               99.5 |              150.5 |
|  3 | Product-3  |              105.4 |               NULL |
|  5 | Product-5  |              209.9 |              400.5 |
+----+-------------+-------------------+--------------------+
5 rows in set (0.00 sec)

  1. मामले के साथ MySQL आदेश?

    इसके लिए nullif () द्वारा ऑर्डर का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable672( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), CustomerAmount int);क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.81 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

  1. क्या हम MySQL क्वेरी में SELECT NULL स्टेटमेंट का उपयोग कर सकते हैं?

    हां, हम MySQL क्वेरी में SELECT NULL स्टेटमेंट का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(100));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.49 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (डेविड );क्वेरी ठीक है, 1 पंक्ति प्र

  1. क्या हम MySQL8 के साथ कॉलम नाम के रूप में "रैंक" का उपयोग कर सकते हैं?

    रैंक एक MySQL आरक्षित शब्द है जिसे MySQL संस्करण 8.0.2 में परिभाषित किया गया है। इसलिए, आप रैंक को कॉलम नाम के रूप में उपयोग नहीं कर सकते। आपको रैंक के आसपास बैकटिक्स का उपयोग करने की आवश्यकता है। आइए सबसे पहले उस MySQL संस्करण की जाँच करें जिस पर हम काम कर रहे हैं। यहाँ, मैं MySQL संस्करण 8.0.12 क