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

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

IFNULL के साथ ORDER BY का उपयोग

IFNULL(expr1, expr2) पहला नॉन-NULL मान लौटाता है। इसे ORDER BY में उपयोग करके NULL मानों को दूसरे कॉलम से सॉर्ट कर सकते हैं:

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)
    -> );
mysql> INSERT INTO IfNullDemo(ProductName, ProductWholePrice, ProductRetailPrice) 
    -> VALUES('Product-1', 99.50, 150.50),
    -> ('Product-2', NULL, 76.56),
    -> ('Product-3', 105.40, NULL),
    -> ('Product-4', NULL, NULL),
    -> ('Product-5', 209.90, 400.50);

IFNULL के साथ ORDER BY

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              |
+----+-------------+-------------------+--------------------+

Product-4 (दोनों NULL) पहले, फिर Product-2 (WholePrice NULL, RetailPrice उपयोग), फिर क्रमशः।

  1. - MySQL ORDER BY CASE के साथ

    इसके लिए ORDER BY NULLIF() का उपयोग करें। पहले एक टेबल बनाते हैं: mysql> create table DemoTable672( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), CustomerAmount int ); Query OK, 0 rows affected (0.81 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mys

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

    हां, हम MySQL क्वेरी में SELECT NULL स्टेटमेंट का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( Name varchar(100) ); Query OK, 0 rows affected (0.49 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris)

  1. - MySQL 8.0 में 'rank' आरक्षित शब्द: कॉलम नाम के लिए बैकटिक्स आवश्यक

    MySQL 8.0.2 से RANK एक आरक्षित शब्द (reserved word) है क्योंकि विंडो फ़ंक्शन RANK() जोड़ा गया। इसे कॉलम नाम के रूप में उपयोग करने के लिए बैकटिक्स (`) आवश्यक हैं। समस्या ); ERROR 1064 (42000): You have an error in your SQL syntax near rank int at line 5 समाधान: बैकटिक्स उपयोग करें ); Query OK डे