Odpowiedz 
 
Ocena wątku:
  • 1 głosów - 5 średnio
  • 1
  • 2
  • 3
  • 4
  • 5
[5] Sortowanie danych (ORDER BY)
05-14-2021, 10:16 AM
Post: #1
Bug [5] Sortowanie danych (ORDER BY)
Mateusz Fabczak 3F
Opis
Klauzula MySQL ORDER BY służy do sortowania rekordów w zestawie wyników.
Składnia
Składnia klauzuli ORDER BY w MySQL jest następująca:

SELECT expressions
FROM tables
[WHERE conditions]
ORDER BY expression [ ASC | DESC ];
Parametry oraz Argumenty
wyrażenia
Kolumny lub obliczenia, które chcesz pobrać.
tabele
Tabele, z których chcesz pobrać rekordy. W klauzuli FROM musi znajdować się co najmniej jedna tabela.
warunki
Opcjonalny. Warunki, które muszą być spełnione, aby rekordy zostały wybrane.
ASC
Opcjonalny. Sortuje zestaw wyników w kolejności rosnącej według wyrażenia (domyślnie, jeśli żaden modyfikator nie został podany).
DESC
Opcjonalny. Sortuje wynik w porządku malejącym według wyrażenia.
Notatka
• Jeśli w klauzuli ORDER BY nie podano modyfikatora ASC lub DESC, wyniki zostaną posortowane według wyrażenia w porządku rosnącym. Jest to równoważne wyrażeniu ORDER BY ASC.
• Klauzula ORDER BY może być używana w instrukcjach SELECT, SELECT LIMIT i DELETE LIMIT w MySQL.
Przykład – Sortowanie bez atrybutu ASC/DESC
Klauzuli MySQL ORDER BY można używać bez określania modyfikatora ASC lub DESC. W przypadku pominięcia tego atrybutu w klauzuli ORDER BY kolejność sortowania jest domyślnie ustawiona na ASC lub rosnącą.
Dla przykładu:
SELECT city
FROM customers
WHERE customer_name = 'Apple'
ORDER BY city;

Ten przykład MySQL ORDER BY zwróciłby wszystkie rekordy posortowane według pola city w porządku rosnącym i byłby równoważny z następującą klauzulą ORDER BY:

SELECT city
FROM customers
WHERE customer_name = 'Apple'
ORDER BY city ASC;
Większość programistów pomija atrybut ASC podczas sortowania w porządku rosnącym.
Przykład – Sortowanie malejąco
Podczas sortowania zestawu wyników w porządku malejącym używasz atrybutu DESC w klauzuli ORDER BY w następujący sposób:

SELECT last_name, first_name, city
FROM contacts
WHERE last_name = 'Johnson'
ORDER BY city DESC;
Ten przykład MySQL ORDER BY zwróci wszystkie rekordy posortowane według pola city w porządku malejącym.
Przykład - Sortowanie według pozycji względnej
Możesz również użyć klauzuli MySQL ORDER BY, aby posortować według względnej pozycji w zestawie wyników, gdzie pierwsze pole w zestawie wyników to 1. Następne pole to 2 i tak dalej. Dla przykładu:
SELECT last_name, first_name, city
FROM contacts
WHERE last_name = 'Johnson'
ORDER BY 3 DESC;

ORDER BY MySQL zwróci wszystkie rekordy posortowane według pola miasta w porządku malejącym, ponieważ pole miasta znajduje się na pozycji 3 w zestawie wyników i byłoby równoważne z następującą klauzulą ORDER BY:

SELECT last_name, first_name, city
FROM contacts
WHERE last_name = 'Johnson'
ORDER BY city DESC;
Przykład – Używanie obu atrybutów ASC oraz DESC
Podczas sortowania zestawu wyników za pomocą klauzuli MySQL ORDER BY można użyć atrybutów ASC i DESC w jednej instrukcji SELECT.
Dla przykładu:
SELECT supplier_city, supplier_state
FROM suppliers
WHERE supplier_name = 'Microsoft'
ORDER BY supplier_city DESC, supplier_state ASC;
MySQL ORDER BY zwróci wszystkie rekordy posortowane według pola supplier_city w porządku malejącym, z dodatkowym sortowaniem według supplier_state w porządku rosnącym.
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości