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

MySQL UNION में SELECT क्रम को कैसे बनाए रखें?

CASE स्टेटमेंट का उपयोग करना एक अच्छा विकल्प है। UNION का उपयोग न करें। आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ShippingDate DATETIME
);

टेबल में कुछ रिकॉर्ड डालें:

mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-04-21');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-01-01');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-05-11');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2018-12-31');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-02-18');

टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+---------------------+
| Id | ShippingDate        |
+----+---------------------+
| 1  | 2019-04-21 00:00:00 |
| 2  | 2019-01-01 00:00:00 |
| 3  | 2019-05-11 00:00:00 |
| 4  | 2018-12-31 00:00:00 |
| 5  | 2019-02-18 00:00:00 |
+----+---------------------+

ORDER BY CASE का उपयोग करके SELECT क्रम को बनाए रखने के लिए क्वेरी:

mysql> SELECT * FROM DemoTable ORDER BY CASE WHEN ShippingDate < CURDATE() THEN ShippingDate ELSE CURDATE() END DESC, ShippingDate ASC;

आउटपुट:

+----+---------------------+
| Id | ShippingDate        |
+----+---------------------+
| 3  | 2019-05-11 00:00:00 |
| 1  | 2019-04-21 00:00:00 |
| 5  | 2019-02-18 00:00:00 |
| 2  | 2019-01-01 00:00:00 |
| 4  | 2018-12-31 00:00:00 |
+----+---------------------+
  1. - MySQL में IN() और FIELD() से सेट क्रम में SELECT करें

    IN() और FIELD() के संयोजन से कस्टम क्रम में परिणाम प्राप्त करना जब आपको विशिष्ट मानों के लिए पंक्तियां चुननी हों और उन्हें एक विशेष क्रम में दिखाना हो, तो WHERE ... IN(...) के साथ ORDER BY FIELD(...) का उपयोग करें। टेबल और डेटा CREATE TABLE DemoTable( StudentId VARCHAR(10), StudentName VAR

  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL

  1. - MySQL UNION SELECT और IN क्लॉज एक ही क्वेरी में

    UNION और IN क्लॉज को संयोजित करना पहले टेबल बनाएं: create table DemoTable1 ( StudentId int, StudentName varchar(20) ); Query OK, 0 rows affected (1.24 sec) रिकॉर्ड डालें: insert into DemoTable1 values(210,Adam); Query OK, 1 row affected (0.11 sec) सभी रिकॉर्ड देखें: select * from DemoTable1; आउटप