पायथन SQLite - आदेश द्वारा

SELECT क्वेरी का उपयोग करके डेटा प्राप्त करते समय, आपको रिकॉर्ड उसी क्रम में मिलेंगे, जिसमें आपने उन्हें सम्मिलित किया है।

आप वांछित क्रम में परिणामों को क्रमबद्ध कर सकते हैं (आरोही या अवरोही) Order Byखंड। डिफ़ॉल्ट रूप से, यह क्लॉज़ आरोही क्रम में परिणाम देता है, यदि आपको उन्हें अवरोही क्रम में व्यवस्थित करने की आवश्यकता है तो आपको "DESC" का स्पष्ट रूप से उपयोग करने की आवश्यकता है।

वाक्य - विन्यास

SQLite में ORDER BY क्लॉज का वाक्य विन्यास निम्नलिखित है।

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

उदाहरण

मान लें कि हमने निम्नलिखित क्वेरी का उपयोग करके CRICKETERS नाम के साथ एक तालिका बनाई है -

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age int,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
sqlite>

और अगर हमने INSERT कथनों का उपयोग करते हुए इसमें 5 रिकॉर्ड डाले हैं -

sqlite> insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>

चयनित चयन के बाद उनकी आयु के बढ़ते क्रम में CRICKETERS तालिका की पंक्तियों को पुनः प्राप्त किया जाता है -

sqlite> SELECT * FROM CRICKETERS ORDER BY AGE;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Virat      Kohli      30   Delhi      India
Rohit      Sharma     32   Nagpur     India
Shikhar    Dhawan     33   Delhi      India
Jonathan   Trott      38   CapeTown   SouthAfrica
Kumara     Sangakkara 41   Matale     Srilanka
sqlite>

तालिका के रिकॉर्ड को सॉर्ट करने के लिए आप एक से अधिक कॉलम का उपयोग कर सकते हैं। सेलेक्ट स्टेटमेंट्स के बाद कॉलम AGE और FIRST_NAME के आधार पर CRICKETERS तालिका के रिकॉर्ड को सॉर्ट करें ।

sqlite> SELECT * FROM CRICKETERS ORDER BY AGE, FIRST_NAME;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Virat      Kohli      30   Delhi      India
Rohit      Sharma     32   Nagpur     India
Shikhar    Dhawan     33   Delhi      India
Jonathan   Trott      38   CapeTown   SouthAfrica
Kumara     Sangakkara 41   Matale     Srilanka
sqlite>

डिफ़ॉल्ट रूप से, ORDER BY खण्ड आरोही क्रम में एक तालिका के अभिलेखों को क्रमबद्ध करता है आप DESC का उपयोग करके अवरोही क्रम में परिणाम की व्यवस्था कर सकते हैं -

sqlite> SELECT * FROM CRICKETERS ORDER BY AGE DESC;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Kumara     Sangakkara 41   Matale     Srilanka
Jonathan   Trott      38   CapeTown   SouthAfrica
Shikhar    Dhawan     33   Delhi      India
Rohit      Sharma     32   Nagpur     India
Virat      Kohli      30   Delhi      India
sqlite>

अजगर का उपयोग करके खंड द्वारा आदेश

विशिष्ट क्रम में एक तालिका की सामग्री को पुनः प्राप्त करने के लिए, कर्सर ऑब्जेक्ट पर निष्पादित () विधि का आह्वान करें और, ORDER BY खंड के साथ चयन कथन को एक पैरामीटर के रूप में पास करें।

उदाहरण

निम्नलिखित उदाहरण में हम नाम और कर्मचारी के साथ एक तालिका बना रहे हैं, इसे पॉप्युलेट कर रहे हैं, और अपने रिकॉर्ड को उनकी उम्र के (आरोही) क्रम में वापस लाकर ORDER BY खंड का उपयोग कर रहे हैं।

import psycopg2

#establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)
#Setting auto commit false
conn.autocommit = True

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating a table
sql = '''CREATE TABLE EMPLOYEE(
FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT, SEX CHAR(1),
   INCOME INT,
   CONTACT INT
)'''
cursor.execute(sql)

#Populating the table
#Populating the table
cursor.execute('''INSERT INTO EMPLOYEE
   (FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES 
   ('Ramya', 'Rama priya', 27, 'F', 9000),
   ('Vinay', 'Battacharya', 20, 'M', 6000), 
   ('Sharukh', 'Sheik', 25, 'M', 8300), 
   ('Sarmista', 'Sharma', 26, 'F', 10000),
   ('Tripthi', 'Mishra', 24, 'F', 6000)''')
conn.commit()

#Retrieving specific records using the ORDER BY clause
cursor.execute("SELECT * from EMPLOYEE ORDER BY AGE")
print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

उत्पादन

[('Vinay', 'Battacharya', 20, 'M', 6000, None),
   ('Tripthi', 'Mishra', 24, 'F', 6000, None),
   ('Sharukh', 'Sheik', 25, 'M', 8300, None),
   ('Sarmista', 'Sharma', 26, 'F', 10000, None),
   ('Ramya', 'Rama priya', 27, 'F', 9000, None)]