- 1 1. Introduction
- 2 2. Basic Syntax of the ORDER BY Clause
- 3 3. Sorting by Multiple Columns
- 4 4. Handling NULL Values
- 5 5. Combining ORDER BY with WHERE
- 6 6. Using ORDER BY with GROUP BY
- 7 7. Advanced na ORDER BY: Pag-sort ng Mga Petsa at Mga String
- 8 8. Pag-optimize ng Performance para sa ORDER BY
- 9 9. Buod
1. Introduction
Ang MySQL ay isang malawak na ginagamit na relational database para sa web applications at database management. Sa mga maraming tampok nito, ang ORDER BY clause ay isang mahalagang tool para sa pag-oorganisa ng nakuha na data batay sa tiyak na pamantayan. Sa artikulong ito, ipapaliwanag natin ang mga basics ng ORDER BY clause, pag-sort sa maraming columns, paghawak ng NULL values, at pag-optimize ng performance. Upang gawing mas madaling maunawaan, isasama natin ang kongkretong mga halimbawa at visual na mga table.
2. Basic Syntax of the ORDER BY Clause
Ang ORDER BY clause ay ginagamit upang mag-sort ng data na nakuha mula sa isang database sa ascending (ASC) o descending (DESC) order. Sa pamamagitan ng pagtukoy ng target column para sa pag-sort, maaari mong ipresenta ang data nang mas maayos.
Basic Syntax
SELECT * FROM table_name
ORDER BY column_name ASC | DESC;
- Ascending (ASC) : Nagso-sort ng mga values mula sa pinakamaliit hanggang pinakamalaki. Kung walang keyword na tinukoy,
ASCang default. - Descending (DESC) : Nagso-sort ng mga values mula sa pinakamalaki hanggang pinakamaliit.
Example
Ang sumusunod na query ay nagso-sort ng customer data ayon sa edad sa ascending order:
SELECT * FROM customers
ORDER BY age ASC;
Figure 1: Customer data before sorting
Name | Age | Tirahan |
|---|---|---|
Yamada | 40 | Tokyo |
Sato | 25 | Osaka |
Suzuki | 35 | Nagoya |
Figure 2: Customer data after sorting
Name | Age | Tirahan |
|---|---|---|
Sato | 25 | Osaka |
Suzuki | 35 | Nagoya |
Yamada | 40 | Tokyo |
Important Note
Ang ORDER BY clause ay dapat lumitaw sa dulo ng isang SELECT statement. Kung ginagamit ang iba pang clauses tulad ng WHERE o GROUP BY, ang ORDER BY ay sumusunod pagkatapos nila.

3. Sorting by Multiple Columns
Ang ORDER BY clause ay nagbibigay-daan sa pag-sort sa maraming columns, na nagbibigay-daan sa mas detalyadong pag-oorganisa. Halimbawa, kung dalawang rows ay nagbabahagi ng parehong value sa unang column, ang pangalawang column ay ginagamit bilang tiebreaker.
Syntax Example
SELECT * FROM table_name
ORDER BY column1 ASC, column2 DESC;
Practical Example
Ang sumusunod na query ay nagso-sort ng mga customers ayon sa address sa descending order at pagkatapos ayon sa edad sa ascending order:
SELECT * FROM customers
ORDER BY address DESC, age ASC;
Figure 3: Result of multi-column sorting
Name | Tirahan | Age |
|---|---|---|
Yamada | Tokyo | 40 |
Sato | Osaka | 25 |
Suzuki | Nagoya | 35 |
Sa ganitong paraan, ang data ay unang nagso-sort ayon sa address sa descending order. Kung maraming customers ang nagbabahagi ng parehong address, sila ay nagso-sort ayon sa age sa ascending order.
4. Handling NULL Values
Sa SQL, ang NULL value ay nangangahulugang “walang value na umiiral.” Kapag gumagamit ng ORDER BY clause, ang mga NULL values ay tinatrato nang espesyal. Sa ASC, ang mga NULL values ay lumilitaw muna, habang sa DESC, sila ay lumilitaw sa huli.
NULL Value Behavior
- Ascending (ASC) : Ang mga
NULLvalues ay ipinapakita muna. - Descending (DESC) : Ang mga
NULLvalues ay ipinapakita sa huli.
Example
Ang sumusunod na query ay nagpapakita ng mga products na may NULL prices muna, na sinusundan ng iba pa sa ascending order:
SELECT * FROM products
ORDER BY price ASC;
Figure 4: Sorting results with NULL values
Produkto | Presyo |
|---|---|
Produkto A | NULL |
Produkto B | 1000 |
Produkto C | 2000 |
How to Display NULL Values Last
Kung nais mong lumitaw ang mga NULL values sa huli, maaari kang gumamit ng ISNULL() function.
SELECT * FROM products
ORDER BY ISNULL(price), price ASC;

5. Combining ORDER BY with WHERE
Sa pamamagitan ng pag-combine ng WHERE clause sa ORDER BY, maaari kang mag-filter ng mga records na tumutugma sa tiyak na kondisyon at pagkatapos ay mag-sort sa kanila. Ito ay tumutulong sa mas mahusay na pag-oorganisa at pagpapakita ng data.
Basic Syntax
SELECT * FROM table_name
WHERE condition
ORDER BY column_name ASC | DESC;
Example
Ang sumusunod na query ay nagse-select ng mga customers na may edad na 30 o mas matanda at nagso-sort sa kanila ayon sa pangalan sa ascending order:
SELECT * FROM customers
WHERE age >= 30
ORDER BY name ASC;
Ang query na ito ay nag-filter muna ng data, pagkatapos ay nag-aaplay ng sorting.
6. Using ORDER BY with GROUP BY
Ang GROUP BY clause ay nagru-group ng data ayon sa tiyak na column, at ang ORDER BY clause ay maaaring gamitin pagkatapos upang mag-sort ng mga nai-grupong resulta.
Example
Ang sumusunod na query ay nagbibilang ng mga customers ayon sa rehiyon at nagso-sort ng resulta sa descending order:
SELECT region, COUNT(*)
FROM customers
GROUP BY region
ORDER BY COUNT(*) DESC;
Figure 5: Sorted aggregation results
Region | Bilang ng Kustomer |
|---|---|
Tokyo | 50 |
Osaka | 30 |
Nagoya | 20 |

7. Advanced na ORDER BY: Pag-sort ng Mga Petsa at Mga String
Ang ORDER BY clause ay maaari ring mag-sort ng mga kolum ng petsa at string. Halimbawa, ito ay kapaki-pakinabang para sa pagpapakita ng pinakabagong mga talaan muna o pag-sort alfabeto.
Pag-sort ng Petsa
SELECT * FROM orders
ORDER BY order_date DESC;
Ang query na ito ay nagpapakita ng pinakabagong mga order muna.
Pag-sort ng Mga String
Ang sumusunod na query ay nagso-sort ng mga pangalan ng empleyado alfabeto:
SELECT * FROM employees
ORDER BY name ASC;
8. Pag-optimize ng Performance para sa ORDER BY
Ang pag-sort ng malalaking dataset ay maaaring makaapekto sa performance. Narito ang mga teknik para i-optimize ang mga query na gumagamit ng ORDER BY.
Paggamit ng Mga Index
Ang pagdaragdag ng index sa kolum na isinasort ay maaaring mapabuti ang performance ng query:
CREATE INDEX idx_column_name ON table_name(column_name);
Paggamit ng LIMIT kasama ang ORDER BY
Ang LIMIT clause ay nagbabawas ng bilang ng mga row na ibinabalik pagkatapos ng pag-sort, na nagre-reduce ng oras ng pag-execute at mga gastos sa pagproseso:
SELECT * FROM customers
ORDER BY age ASC
LIMIT 10;
Paghawak ng Malalaking Dataset
Para sa napakamalaking dataset, ang pag-a-adjust ng mga setting ng MySQL ay maaaring mapabuti ang performance. Halimbawa, ang pagtataas ng sort_buffer_size ay nagbibigay-daan ng higit na memory para magamit sa pag-sort:
SET GLOBAL sort_buffer_size = 2M;
Mahal din na gumamit ng EXPLAIN upang suriin ang plano ng pag-execute ng query at makita ang mga pagkakataon para sa pag-optimize:
EXPLAIN SELECT * FROM customers ORDER BY age ASC;

9. Buod
Sa artikulong ito, tinalakay natin ang ORDER BY clause ng MySQL mula sa mga basic hanggang sa advanced na use cases. Ang ORDER BY clause ay mahalaga para sa pag-oorganisa ng data at maaaring hawakan ang ascending/descending order, multi-column sorting, at mga espesyal na kaso tulad ng mga NULL values.
Tinalakay din natin ang pag-optimize ng performance, kabilang ang paggamit ng mga index, LIMIT, at pag-a-adjust ng sort_buffer_size upang mas epektibong hawakan ang malalaking dataset.
Sa pamamagitan ng pag-master ng ORDER BY clause, maaari kang mag-sort ng data nang epektibo at mapahusay ang performance ng parehong mga application at database. Siguraduhing ilapat ang mga teknik na ito sa mga real-world project.
Mga Practical na Use Cases para sa ORDER BY
Narito ang ilang karaniwang senaryo kung saan mahalaga ang ORDER BY sa praktis:
- Pagbuo ng Mga Ulat : Halimbawa, sa paglikha ng mga sales report, maaari kang mag-sort ng mga produkto ayon sa revenue o maglista ng regional sales performance sa ayos.
- Pag-implement ng Pagination : Sa mga web application, maaari kang gumamit ng
ORDER BYkasama angLIMITupang ipakita ang sorted na data sa maraming pahina nang epektibo. - Paglinis ng Database : Sa pag-delete ng mga lumang talaan o pagkuha ng mga espesipikong entry para sa maintenance, ang
ORDER BYay nagpapadali sa pag-identify at pamamahala ng tamang data.
Ito ay mga karaniwang pang-araw-araw na use cases kung saan ang ORDER BY clause ay maaaring lubos na mapabuti ang pag-oorganisa ng data at kahusayan ng workflow.


