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

MySQL के साथ सीमा के बाद एक और आदेश प्राप्त करें?

<घंटा/>

आपको चयन कथन के साथ सबक्वायरी का उपयोग करने की आवश्यकता है, एक आंतरिक के लिए और एक बाहरी के लिए चयन करें। आंतरिक चयन पंक्तियों को लौटाएगा और बाहरी आरोही क्रम से क्रम देगा। वाक्य रचना इस प्रकार है:

SELECT *FROM
(
   SELECT *FROM yourTableName ORDER BY yourColumnName1 DESC LIMIT 9
) AS anyAliasName
ORDER BY yourColumnName2;

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

mysql> create table OrderByAfterLimit
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> UserName varchar(20),
   -> UserAge int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.69 sec)

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

mysql> insert into OrderByAfterLimit(UserName, UserAge) values('John',23);
Query OK, 1 row affected (0.24 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('Larry',21);
Query OK, 1 row affected (0.36 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('Bob',26);
Query OK, 1 row affected (0.19 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('James',22);
Query OK, 1 row affected (0.18 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('Robert',28);
Query OK, 1 row affected (0.20 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('Mike',29);
Query OK, 1 row affected (0.19 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('Carol',24);
Query OK, 1 row affected (0.13 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('David',20);
Query OK, 1 row affected (0.23 sec)
mysql> insert into OrderByAfterLimit(UserName, UserAge) values('Maxwell',30);
Query OK, 1 row affected (0.46 sec)

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

mysql> select *from OrderByAfterLimit;

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

+----+----------+---------+
| Id | UserName | UserAge |
+----+----------+---------+
|  1 | John     |      23 |
|  2 | Larry    |      21 |
|  3 | Bob      |      26 |
|  4 | James    |      22 |
|  5 | Robert   |      28 |
|  6 | Mike     |      29 |
|  7 | Carol    |      24 |
|  8 | David    |      20 |
|  9 | Maxwell  |      30 |
+----+----------+---------+
9 rows in set (0.00 sec)

यहाँ सीमा के बाद ऑर्डर करने की क्वेरी है:

mysql> select *from
   -> (
   -> select *from OrderByAfterLimit order by UserAge DESC LIMIT 9) AS tbl1
   -> order by UserName;

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

+----+----------+---------+
| Id | UserName | UserAge |
+----+----------+---------+
|  3 | Bob      |      26 |
|  7 | Carol    |      24 |
|  8 | David    |      20 |
|  4 | James    |      22 |
|  1 | John     |      23 |
|  2 | Larry    |      21 |
|  9 | Maxwell  |      30 |
|  6 | Mike     |      29 |
|  5 | Robert   |      28 |
+----+----------+---------+
9 rows in set (0.00 sec)

  1. "आदेश" नामक तालिका के साथ MySQL क्वेरी त्रुटि?

    आदेश एक आरक्षित शब्द है। अभी भी आरक्षित शब्द का उपयोग करने के लिए, आपको कॉलम नाम के आसपास बैकटिक्स का उपयोग करने की आवश्यकता है। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.78 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - `ऑर्डर` मूल्यों में डालें ( 205);क्व

  1. संख्यात्मक उपयोगकर्ता परिभाषित चर के साथ MySQL आदेश?

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1898 (नंबर int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1898 मान (40) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.00 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शि

  1. संख्याओं के साथ VARCHAR स्ट्रिंग में हाइफ़न के बाद संख्याओं को निकालने के लिए MySQL क्वेरी

    इसके लिए SUBSTRING_INDEX() का प्रयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.85 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2040 मान (डेविड-987) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) चयन कथन का उपयोग करके तालिका से सभी र