முடிவை வரிசைப்படுத்துதல்
முடிவை ஏறுவரிசை அல்லது இறங்குவரிசையில் வரிசைப்படுத்த ORDER BY அறிக்கையைப் பயன்படுத்தவும்.
ORDER BY முக்கியச்சொல் முடிவை இயல்பாக ஏறுவரிசையில் வரிசைப்படுத்துகிறது. முடிவை இறங்குவரிசையில் வரிசைப்படுத்த, DESC முக்கியச்சொல்லைப் பயன்படுத்தவும்.
எடுத்துக்காட்டு
பெயரின் அடிப்படையில் அகரவரிசையில் முடிவை வரிசைப்படுத்தவும்:
let mysql = require('mysql');
let con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers ORDER BY name", function (err, result) {
if (err) throw err;
console.log(result);
});
});
மேலே உள்ள குறியீட்டை "demo_db_orderby.js" என்ற கோப்பில் சேமித்து கோப்பை இயக்கவும்:
C:\Users\Your Name>node demo_db_orderby.js
இது உங்களுக்கு இந்த முடிவைக் கொடுக்கும்:
[
{ id: 3, name: 'Amy', address: 'Apple st 652'},
{ id: 11, name: 'Ben', address: 'Park Lane 38'},
{ id: 7, name: 'Betty', address: 'Green Grass 1'},
{ id: 13, name: 'Chuck', address: 'Main Road 989'},
{ id: 4, name: 'Hannah', address: 'Mountain 21'},
{ id: 1, name: 'John', address: 'Highway 71'},
{ id: 5, name: 'Michael', address: 'Valley 345'},
{ id: 2, name: 'Peter', address: 'Lowstreet 4'},
{ id: 8, name: 'Richard', address: 'Sky st 331'},
{ id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
{ id: 9, name: 'Susan', address: 'One way 98'},
{ id: 10, name: 'Vicky', address: 'Yellow Garden 2'},
{ id: 14, name: 'Viola', address: 'Sideway 1633'},
{ id: 12, name: 'William', address: 'Central st 954'}
]
ORDER BY முக்கிய குறிப்புகள்:
- இயல்பு வரிசை: ORDER BY இயல்பாக ஏறுவரிசையில் வரிசைப்படுத்துகிறது
- ASC முக்கியச்சொல்: ஏறுவரிசையை வெளிப்படையாகக் குறிப்பிட விருப்பமானது
- பல நெடுவரிசைகள்: காற்புள்ளியால் பிரிக்கப்பட்ட பல நெடுவரிசைகளால் வரிசைப்படுத்தலாம்
- தரவு வகைகள்: எண்கள், சரங்கள் மற்றும் தேதிகள் அனைத்தும் வரிசைப்படுத்தப்படலாம்
ORDER BY DESC
முடிவை இறங்குவரிசையில் வரிசைப்படுத்த DESC முக்கியச்சொல்லைப் பயன்படுத்தவும்.
எடுத்துக்காட்டு
பெயரின் அடிப்படையில் தலைகீழ் அகரவரிசையில் முடிவை வரிசைப்படுத்தவும்:
let mysql = require('mysql');
let con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers ORDER BY name DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
});
மேலே உள்ள குறியீட்டை "demo_db_orderby_desc.js" என்ற கோப்பில் சேமித்து கோப்பை இயக்கவும்:
C:\Users\Your Name>node demo_db_orderby_desc.js
இது உங்களுக்கு இந்த முடிவைக் கொடுக்கும்:
[
{ id: 12, name: 'William', address: 'Central st 954'},
{ id: 14, name: 'Viola', address: 'Sideway 1633'},
{ id: 10, name: 'Vicky', address: 'Yellow Garden 2'},
{ id: 9, name: 'Susan', address: 'One way 98'},
{ id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
{ id: 8, name: 'Richard', address: 'Sky st 331'},
{ id: 2, name: 'Peter', address: 'Lowstreet 4'},
{ id: 5, name: 'Michael', address: 'Valley 345'},
{ id: 1, name: 'John', address: 'Highway 71'},
{ id: 4, name: 'Hannah', address: 'Mountain 21'},
{ id: 13, name: 'Chuck', address: 'Main Road 989'},
{ id: 7, name: 'Betty', address: 'Green Grass 1'},
{ id: 11, name: 'Ben', address: 'Park Lane 38'},
{ id: 3, name: 'Amy', address: 'Apple st 652'}
]
ORDER BY ASC
ORDER BY name ASC - ஏறுவரிசை (A-Z, 0-9)
- இயல்பு வரிசை
- ASC விருப்பமானது
- சிறிய மதிப்புகள் முதலில்
ORDER BY DESC
ORDER BY name DESC - இறங்குவரிசை (Z-A, 9-0)
- DESC தேவை
- பெரிய மதிப்புகள் முதலில்
- சமீபத்திய தேதிகள் முதலில்
பல நெடுவரிசை வரிசைப்படுத்துதல்
நீங்கள் பல நெடுவரிசைகளால் வரிசைப்படுத்தலாம், ஒவ்வொரு நெடுவரிசையும் வெவ்வேறு வரிசையில் இருக்கலாம்.
எடுத்துக்காட்டு
பெயரின் அடிப்படையில் ஏறுவரிசையில் வரிசைப்படுத்தவும், பின்னர் அதே பெயர்களுக்கு முகவரியின் அடிப்படையில் இறங்குவரிசையில் வரிசைப்படுத்தவும்:
let mysql = require('mysql');
let con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers ORDER BY name ASC, address DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
});
மேம்பட்ட பல நெடுவரிசை வரிசைப்படுத்தல்
// Multiple columns with different sort orders
con.query("SELECT * FROM products ORDER BY category ASC, price DESC, name ASC", function (err, result) {
if (err) throw err;
console.log(result);
});
// Order by calculated fields
con.query("SELECT *, (price * quantity) as total FROM orders ORDER BY total DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
// Order by with WHERE clause
con.query("SELECT * FROM customers WHERE id > 5 ORDER BY name ASC", function (err, result) {
if (err) throw err;
console.log(result);
});
வெவ்வேறு தரவு வகைகளுடன் ORDER BY
எண்களால் வரிசைப்படுத்துதல்
// Order by numeric column ascending
con.query("SELECT * FROM products ORDER BY price ASC", function (err, result) {
if (err) throw err;
console.log(result);
});
// Order by numeric column descending
con.query("SELECT * FROM products ORDER BY price DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
// Order by calculated numeric value
con.query("SELECT *, (price * 0.9) as discounted_price FROM products ORDER BY discounted_price DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
தேதிகளால் வரிசைப்படுத்துதல்
// Order by date ascending (oldest first)
con.query("SELECT * FROM orders ORDER BY order_date ASC", function (err, result) {
if (err) throw err;
console.log(result);
});
// Order by date descending (newest first)
con.query("SELECT * FROM orders ORDER BY order_date DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
// Order by timestamp
con.query("SELECT * FROM logs ORDER BY created_at DESC", function (err, result) {
if (err) throw err;
console.log(result);
});
ORDER BY சிறந்த நடைமுறைகள்
செயல்திறன்
- குறியீட்டு நெடுவரிசைகளால் வரிசைப்படுத்தவும்
- தேவையற்ற நெடுவரிசைகளைத் தேர்ந்தெடுப்பதைத் தவிர்க்கவும்
- பெரிய முடிவு செட்களுக்கு LIMIT ஐப் பயன்படுத்தவும்
- சிக்கலான வரிசைப்படுத்தலுக்கு முன் தரவை வடிகட்டவும்
வரிசைப்படுத்தல் உத்திகள்
- முதன்மை வரிசைப்படுத்தல் நெடுவரிசையை முதலில் வைக்கவும்
- இரண்டாம் நிலை வரிசைப்படுத்தலுக்கு குறைவான முக்கியத்துவம் வாய்ந்த நெடுவரிசைகளைப் பயன்படுத்தவும்
- தேதி நெடுவரிசைகளுக்கு DESC ஐப் பயன்படுத்தவும் (சமீபத்தியவை முதலில்)
- பெயர் நெடுவரிசைகளுக்கு ASC ஐப் பயன்படுத்தவும் (அகரவரிசை)
குறியீடு தரம்
- வரிசையை வெளிப்படையாகக் குறிப்பிடவும் (ASC அல்லது DESC)
- நெடுவரிசை பெயர்களை தெளிவாகக் குறிப்பிடவும்
- சிக்கலான ORDER BY கூற்றுகளை வடிவமைக்கவும்
- நிலையான குறியீட்டு மரபுகளைப் பின்பற்றவும்
முழுமையான எடுத்துக்காட்டு
அனைத்து ORDER BY நுட்பங்களையும் உள்ளடக்கிய முழுமையான எடுத்துக்காட்டு:
const mysql = require('mysql');
// Create connection
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "password",
database: "company_db"
});
// Connect to MySQL
con.connect((err) => {
if (err) {
console.error('Error connecting to MySQL:', err.message);
return;
}
console.log('Connected to MySQL database');
// Example 1: Basic ORDER BY ASC
console.log('\n1. Customers ordered by name (ASC):');
con.query("SELECT * FROM customers ORDER BY name ASC", (err, result) => {
if (err) {
console.error('Error in query 1:', err.message);
return;
}
console.log(result);
});
// Example 2: ORDER BY DESC
console.log('\n2. Customers ordered by name (DESC):');
con.query("SELECT * FROM customers ORDER BY name DESC", (err, result) => {
if (err) {
console.error('Error in query 2:', err.message);
return;
}
console.log(result);
});
// Example 3: Multiple column ordering
console.log('\n3. Customers ordered by name ASC, address DESC:');
con.query("SELECT * FROM customers ORDER BY name ASC, address DESC", (err, result) => {
if (err) {
console.error('Error in query 3:', err.message);
return;
}
console.log(result);
});
// Example 4: ORDER BY with WHERE and LIMIT
console.log('\n4. Top 5 customers with id > 5, ordered by name:');
con.query(
"SELECT * FROM customers WHERE id > 5 ORDER BY name ASC LIMIT 5",
(err, result) => {
if (err) {
console.error('Error in query 4:', err.message);
return;
}
console.log(result);
// Close connection after all queries
setTimeout(() => {
con.end((err) => {
if (err) {
console.error('Error closing connection:', err.message);
return;
}
console.log('\nConnection closed');
});
}, 1000);
}
);
});