מיון רשומות המהוות תוצאה של שאילתה לפי שדה או שדות שצויינו בסדר עולה או יורד.
תחביר
SELECT fieldlist
FROM table
WHERE selectcriteria
[ORDER BY field1 [ASC | DESC ][, field2 [ASC | DESC ]][, ...]]]
משפט SELECT המכיל פסוקית ORDER BY כולל חלקים אלה:
| חלק | תיאור |
| fieldlist | שם השדה או השדות שיאוחזרו יחד עם כינויים של שמות שדות, פונקציות צבירה של SQL, פרדיקאטים של בחירה (ALL, DISTINCT, DISTINCTROW או TOP) או אפשרויות אחרות של משפט SELECT. |
| table | שם הטבלה ממנה מאוחזרות רשומות. לקבלת מידע נוסף, ראה את הסעיף לגבי פסוקית FROM. |
| selectcriteria | קריטריוני בחירה. אם המשפט כולל פסוקית WHERE, מנגנון מסד הנתונים Jet של Microsoft מסדר ערכים לאחר החלת תנאי פסוקית WHERE על הרשומות. |
| field1, field2 | שמות השדות לפיהם יתבצע מיון רשומות. |
הערות
פסוקית ORDER BY היא אופציונלית. עם זאת, אם ברצונך להציג את הנתונים שלך לפי סדר מיון, עליך להשתמש בפסוקית ORDER BY.
סדר המיון המשמש כברירת מחדל הוא סדר עולה (א עד ת, 0 עד 9). שתי הדוגמאות הבאות ממיינות שמות עובדים לפי סדר שמות משפחה:
SELECT LastName, FirstName
FROM Employees
ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees
ORDER BY LastName ASC;
כדי למיין בסדר יורד (ת עד א, 9 עד 0), הוסף את המילה השמורה DESC לאחר כל שדה שברצונך למיין בסדר יורד. הדוגמה הבאה בוחרת משכורות וממיינת אותן בסדר יורד:
SELECT LastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName;
אם אתה מציין שדה המכיל נתונים מסוג Memo או OLE Object בפסוקית ORDER BY, מתרחשת שגיאה. מנגנון מסד הנתונים Jet של Microsoft אינו מבצע מיון של שדות מסוגים אלה.
פסוקית ORDER BY היא בדרך כלל הפריט האחרון במשפט SQL.
באפשרותך לכלול שדות נוספים בפסוקית ORDER BY. רשומות ממויינות תחילה לפי השדה הראשון המפורט לאחר ORDER BY. לאחר מכן, רשומות המכילות ערכים שווים באותו שדה ממויינות לפי הערך בשדה השני המפורט, וכן הלאה.
דוגמה לפסוקית ORDER BY
משפט SQL המוצג בדוגמה הבאה עושה שימוש בפסוקית ORDER BY כדי למיין רשומות לפי שם משפחה בסדר יורד (ת-א).
דוגמה זו שולחת קריאה לפרוצדורה EnumFields, אותה באפשרותך למצוא בדוגמה למשפט SELECT.
Sub OrderByX()
Dim dbs As Database, rst As Recordset
Modify this line to include the path to Northwind
on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
Select the last name and first name values from
the Employees table, and sort them in descending
order.
Set rst = dbs.OpenRecordset("SELECT LastName, " _
& "FirstName FROM Employees " _
& "ORDER BY LastName DESC;")
Populate the Recordset.
rst.MoveLast
Call EnumFields to print recordset contents.
EnumFields rst, 12
dbs.Close
End Sub
|