MySQL ORDER BY කොටස විස්තර: ව්‍යවස්ථාව, බහු තීරු, NULL සැකසීම, සහ කාර්ය සාධන සුදානම

.

1. හැඳින්වීම

MySQL යනු වෙබ් යෙදුම් සහ දත්ත ගබඩා කළමනාකරණය සඳහා පුළුල් ලෙස භාවිතා වන සම්බන්ධක දත්ත ගබඩාවකි. එහි විශේෂාංග අතර, ORDER BY කොටස යනු ලබාගත් දත්ත නියමිත මාර්ගෝපදේශ අනුව සංවිධානය කිරීම සඳහා අත්‍යවශ්‍ය ක්‍රියාවලියකි. මෙම ලිපියේදී, ORDER BY කොටසෙහි මූලික භාවිතය සිට බහු තීරුවලින් සකස් කිරීම, NULL අගයන් සැකසීම, සහ කාර්ය සාධන අභිලක්ෂණය දක්වා සියල්ල විස්තරාත්මකව පැහැදිලි කරමු. දෘශ්‍යමයව තේරුම් ගැනීමට පහසු කිරීම සඳහා, අපි ප්‍රායෝගික උදාහරණ සහ රූප රේඛාදර්ශනද ලබා දෙනු ඇත.

2. ORDER BY කොටසෙහි මූලික ව්‍යවස්ථාව

ORDER BY කොටස භාවිතා කරමින් දත්ත ගබඩාවෙන් ලබාගත් දත්තවලට ඉහළ (ASC) හෝ පහළ (DESC) අනුක්‍රමයෙන් සකස් කළ හැකිය. සකස් කිරීමට අවශ්‍ය තීරුව නියම කිරීමෙන්, දත්තවලට වඩා සංවිධානයකින් සහ ව්‍යුහගතව පෙන්විය හැකිය.

මූලික ව්‍යවස්ථාව

SELECT * FROM table_name
ORDER BY column_name ASC | DESC;
  • ඉහළ (ASC) : කුඩා අගයන් සිට විශාල අගයන් දක්වා සකස් කරයි. ASC නියම නොකළහොත්, ඉහළ අනුක්‍රමය මූලික හැසිරීම වේ.
  • පහළ (DESC) : විශාල අගයන් සිට කුඩා අගයන් දක්වා සකස් කරයි.

උදාහරණය

පහත විමසුම පාරිභෝගිකයන්වය වයස අනුව ඉහළ අනුක්‍රමයෙන් සකස් කරයි.

SELECT * FROM customers
ORDER BY age ASC;

රූපය 1: සකස් කිරීමකට පෙර පාරිභෝගික දත්ත

NameAgeAddress
Yamada40Tokyo
Sato25Osaka
Suzuki35Nagoya

රූපය 2: සකස් කිරීමෙන් පසු පාරිභෝගික දත්ත

NameAgeAddress
Sato25Osaka
Suzuki35Nagoya
Yamada40Tokyo

වැදගත් සටහන්

ORDER BY කොටස SELECT ප්‍රකාශනයේ අවසානයේ ලිවිය යුතුය. WHERE හෝ GROUP BY වැනි අනෙකුත් කොටස් පවතින විට, ORDER BY ඒවාට පසු තබා යුතුය.

3. බහු තීරුවලින් සකස් කිරීම

ORDER BY කොටස ඔබට බහු තීරුවලින් සකස් කිරීමට ඉඩ සලසයි. මෙය දත්තවල වඩා විස්තරාත්මක සංවිධානයක් ලබා දේ. උදාහරණයක් ලෙස, පළමු තීරුවෙන් සකස් කිරීමෙන් පසු, සමහර අගයන් එකසේ නම්, දෙවන තීරුව භාවිතා කර අනුක්‍රමය තීරණය කරයි.

ව්‍යවස්ථා උදාහරණය

SELECT * FROM table_name
ORDER BY column1 ASC, column2 DESC;

ප්‍රායෝගික උදාහරණය

පහත විමසුම ලිපිනය අනුව පහළ අනුක්‍රමයෙන්, පසුව වයස අනුව ඉහළ අනුක්‍රමයෙන් සකස් කරයි.

SELECT * FROM customers
ORDER BY address DESC, age ASC;

රූපය 3: සකස් කිරීමේ ප්‍රතිඵලය (බහු තීරුවලින්)

NameAddressAge
YamadaTokyo40
SatoOsaka25
SuzukiNagoya35

මෙම ආකාරයෙන්, ලේඛන පළමුව ලිපිනය (address) අනුව පහළ අනුක්‍රමයෙන් සකස් වේ. එකම ලිපිනයක් බෙදා ගන්නා පාරිභෝගිකයන් පසු වයස (age) අනුව ඉහළ අනුක්‍රමයෙන් සකස් කරනු ලැබේ.

4. NULL අගයන් සැකසීම

SQL හි NULL අගය යනු අගයක් නොමැති බව පෙන්වයි. ORDER BY කොටස භාවිතා කරන විට, NULL අගයන්ට විශේෂ ප්‍රතිචාරයක් ලබා දේ. ASC නියම කරන්නේ නම්, NULL අගයන් පළමුව පෙන්වයි. DESC නියම කරන්නේ නම්, ඒවා අවසන්ව පෙන්වයි.

NULL අගයන්ගේ හැසිරීම

  • ඉහළ (ASC) : NULL අගයන් පළමුව පෙන්වයි.
  • පහළ (DESC) : NULL අගයන් අවසන්ව පෙන්වයි.

උදාහරණය

පහත විමසුම NULL මිල ඇති නිෂ්පාදන පළමුව පෙන්වා, අනෙකුත් නිෂ්පාදන ඉහළ අනුක්‍රමයෙන් සකස් කරයි.

SELECT * FROM products
ORDER BY price ASC;

රූපය 4: NULL අගයන් ඇතුළත් සකස් කිරීමේ ප්‍රතිඵල

Product NamePrice
Product ANULL
Product B1000
Product C2000

NULL අගයන් අවසන්ව පෙන්වීමේ ක්‍රමය

NULL අගයන් අවසන්ව පෙන්වීමට ISNULL() ක්‍රියාවලිය භාවිතා කරන්න.

SELECT * FROM products
ORDER BY ISNULL(price), price ASC;

5. WHERE කොටස සමඟ එකතු කිරීම

WHERE කොටස ORDER BY කොටස සමඟ එකතු කිරීමෙන්, ඔබට නියමිත කොන්දේසි සපුරන දත්ත ලබාගෙන, පසු ඒවා සකස් කළ හැකිය. මෙය දත්ත සංවිධානය කර ප්‍රදර්ශනය කිරීමේ කාර්යක්ෂමතාව වැඩි කරයි.

මූලික ව්‍යවස්ථාව

SELECT * FROM table_name
WHERE condition
ORDER BY column_name ASC | DESC;

උදාහරණය

පහත විමසුම වයස 30 හෝ ඊට වැඩි පාරිභෝගිකයන් නාමය අනුව ඉහළ අනුක්‍රමයෙන් සකස් කරයි.

SELECT * FROM customers
WHERE age >= 30
ORDER BY name ASC;

මෙම විමසුම සකස් කිරීම පිරිසිදු කර ඇති දත්ත මත යෙදීම පෙන්වයි.

6. GROUP BY සමඟ භාවිතය

GROUP BY කොටස දත්තවලට නියමිත තීරුව අනුව කණ්ඩායම් ගොඩනැගීමට භාවිතා කරයි, එවිට ORDER BY කොටස එම කණ්ඩායම් ප්‍රතිඵල සකස් කිරීමට භාවිතා කළ හැකිය.

.

උදාහරණය

පහත විමසුම ප්‍රදේශ අනුව ගනුදෙනුකරුවන්ගේ සංඛ්‍යාව අඩු වන ක්‍රමයෙන් සකසයි.

SELECT region, COUNT(*)
FROM customers
GROUP BY region
ORDER BY COUNT(*) DESC;

රූපය 5: සකස් කළ එකතු කිරීමේ ප්‍රතිඵල

RegionNumber of Customers
Tokyo50
Osaka30
Nagoya20

7. ORDER BY හි උසස් භාවිතය: දිනයන් සහ පදයන් සකසීම

ORDER BY වාක්‍යය දිනයන් සහ පද තීරුවලත් භාවිතා කළ හැක. උදාහරණයක් ලෙස, නවතම දත්ත පළමුව පෙන්වීමට හෝ වාර්තා අකුරු අනුපිළිවෙලට සකසීමට මෙය ප්‍රයෝජනවත් වේ.

දිනය අනුව සකසීම

SELECT * FROM orders
ORDER BY order_date DESC;

මෙම විමසුම දත්ත සකසයි, එවිට නවතම ඇණවුම් පළමුව පෙන්වයි.

පද අනුව සකසීම

පහත විමසුම name තීරුව අකුරු අනුපිළිවෙලට සකසයි.

SELECT * FROM employees
ORDER BY name ASC;

8. ORDER BY වාක්‍යය සඳහා කාර්ය සාධන සුදානම

විශාල ප්‍රමාණයේ දත්ත සකසීම කාර්ය සාධනයට බලපායි. ORDER BY වාක්‍යය භාවිතා කරන විට කාර්ය සාධනය වැඩිදියුණු කිරීමට මෙහි තාක්ෂණ කිහිපයක් ඇත.

සුචක භාවිතය

සකසීමට භාවිතා කරන තීරුවට සුචක එකතු කිරීම විමසුම් කාර්ය සාධනය ගණනාවෙන් වැඩිදියුණු කරයි.

CREATE INDEX idx_column_name ON table_name(column_name);

LIMIT වාක්‍යය භාවිතය

සකසීමෙන් පසු ආපසු ලැබෙන පේළි ගණන සීමා කිරීමට LIMIT වාක්‍යය භාවිතා කළ හැක. මෙය ක්‍රියාත්මක වේගය වැඩිදියුණු කරයි සහ සැකසුම් වියදම් අඩු කරයි.

SELECT * FROM customers
ORDER BY age ASC
LIMIT 10;

විශාල දත්ත කට්ටලයන් සැකසීම

විශාල දත්ත කට්ටලයන් කාර්යක්ෂමව සකසීමට MySQL සැකසුම් සකස් කිරීමද වැදගත් වේ. උදාහරණයක් ලෙස, sort_buffer_size අගය වැඩි කිරීම සකසීමේදී මතක වෙන් කිරීම වැඩි කරයි සහ සැකසුම් වේගය වැඩිදියුණු කරයි.

SET GLOBAL sort_buffer_size = 2M;

අතිරේකව, EXPLAIN භාවිතා කර විමසුම් ක්‍රියාත්මක සැලැස්ම සමාලෝචනය කිරීම සහ සුදානම් අවස්ථා හඳුනා ගැනීමද වැදගත් වේ.

EXPLAIN SELECT * FROM customers ORDER BY age ASC;

9. නිගමනය

මෙම ලිපියේ, මූලික සංකල්පයන් සිට උසස් යෙදුම් දක්වා MySQL ORDER BY වාක්‍යය භාවිතා කරන ආකාරය අපි සවිස්තරාත්මකව පැහැදිළි කර ඇත. ORDER BY වාක්‍යය දත්ත පැහැදිලිව සංවිධානය කිරීම සහ ඉදිරිපත් කිරීම සඳහා අත්‍යවශ්‍ය ලක්ෂණයකි. එය උඩුගත හෝ පහළට අනුපිළිවෙල, බහු තීරු සකසීම, NULL අගයන් සැකසීම වැනි විවිධ අවස්ථා සඳහා සහය දක්වයි.

අපි කාර්ය සාධන සුදානම් තාක්ෂණයන් ගැනද කතා කර, විශාල දත්ත කට්ටලයන් සමඟ වැඩ කරන විට කාර්යක්ෂමතාවය වැඩිදියුණු කරන ආකාරය පැහැදිළි කර ඇත. සුචක භාවිතය, LIMIT වාක්‍යය, සහ sort_buffer_size සකස් කිරීමෙන් සකසීමේ ක්‍රියාකාරකම් ගණනාවෙන් වේගවත් කරගත හැක.

MySQL ORDER BY වාක්‍යය පරිපූර්ණව අධ්‍යයනය කිරීමෙන් ඔබට දත්ත කාර්යක්ෂමව සකසා, ඔබේ යෙදුම් සහ දත්ත ගබඩා කාර්ය සාධනය වැඩිදියුණු කළ හැක. මෙම ලිපියේ හඳුන්වා දුන් තාක්ෂණයන් ඔබේ ප්‍රායෝගික සංවර්ධන කාර්යයන්ට අනිවාර්යයෙන්ම යොදා ගන්න.

ප්‍රායෝගික ORDER BY භාවිතා අවස්ථා

අවසානයේ, ORDER BY බහුලව භාවිතා වන සාමාන්‍ය වාස්තුක අවස්ථා කිහිපයක් මෙහි ඇත.

  1. වාර්තා සකස් කිරීම : උදාහරණයක් ලෙස, විකුණුම් වාර්තා සකස් කරන විට, ඔබට නිෂ්පාදන ආදායම අනුව සකස් කළ හැක හෝ ප්‍රදේශීය විකුණුම් කාර්ය සාධනය සකස් කළ අනුපිළිවෙලින් පෙන්විය හැක. එවැනි අවස්ථාවල ORDER BY වාක්‍යය අත්‍යවශ්‍ය වේ.
  2. පිටුගත කිරීම ක්‍රියාත්මක කිරීම : වෙබ් යෙදුම් වල දත්ත පිටුවෙන් පිටුවට පෙන්වීමේදී, ORDER BY සමඟ LIMIT එකතු කිරීමෙන් ඔබට දත්ත නිවැරදිව අනුපිළිවෙලට තබා, කාර්යක්ෂම පිටුගත කිරීමක් ක්‍රියාත්මක කළ හැක.
  3. දත්ත ගබඩා පිරිසිදු කිරීමේ කාර්යයන් : පැරණි ලේඛන මකා දැමීම හෝ විශේෂිත කොන්දේසි සපුරන දත්ත ලබා ගැනීම සහ සැකසීමේදී, ORDER BY භාවිතා කිරීමෙන් ඉලක්ක දත්ත සොයාගැනීමට සහ කළමනාකරණයට පහසු වේ.

මෙම අවස්ථා දිනපතා මෙහෙයුම් වල සාමාන්‍යයෙන් හමුවේ. ORDER BY වාක්‍යය කාර්යක්ෂමව භාවිතා කිරීමෙන් ඔබේ වැඩපිළිවෙළ කාර්ය සාධනය ගණනාවෙන් වැඩිදියුණු කළ හැක.