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

MySQL में केवल विशिष्ट रिकॉर्ड की सूची को ASC क्रम में प्रदर्शित करें

समाधान

ORDER BY CASE स्टेटमेंट का उपयोग करके कस्टम क्रम लागू करें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE DemoTable2039 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable2039 VALUES ('John Doe'), ('John Smith'), ('Chris Brown'), ('Adam Smith'), ('David Miller');

कस्टम क्रम क्वेरी

'Smith' वाले नामों को अंत में रखें, फिर वर्णानुक्रम क्रम:

mysql> SELECT * FROM DemoTable2039
    -> ORDER BY CASE WHEN Name LIKE '%Smith%' THEN 101 ELSE 100 END, Name;

परिणाम

+--------------+
| Name         |
+--------------+
| Chris Brown  |
| David Miller |
| John Doe     |
| Adam Smith   |
| John Smith   |
+--------------+

व्याख्या: CASE एक्सप्रेशन 'Smith' वाले नामों को 101, बाकी को 100 असाइन करता है। फिर Name द्वारा क्रमबद्ध करता है।

  1. - MySQL में स्ट्रिंग और संख्या वाले VARCHAR रिकॉर्ड को कैसे क्रमबद्ध करें?

    MySQL में अल्फान्यूमेरिक कोड (जैसे 100A, 101J) को संख्यात्मक भाग के अनुसार क्रमबद्ध करने के लिए ORDER BY column+0, column तकनीक का उपयोग करें। समस्या स्ट्रिंग क्रम: 100A, 100B, 101J, 101S, 103M (लेक्सिकोग्राफिक) वांछित क्रम: संख्यात्मक भाग पहले, फिर अक्षर उदाहरण mysql> CREATE TABLE DemoTable (S

  1. - MySQL में संख्याओं वाले रिकॉर्ड राउंड करें

    संख्या राउंड करने के लिए MySQL ROUND() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Amount DECIMAL(10,4) -> ); Query OK, 0 rows affected (1.18 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(100.578)

  1. - MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1 values(2019-09-10); Query OK, 1 r