środa, 19 września 2018

MySQL – Sortowanie wyników

MySQL – Sortowanie wyników


Używaliśmy polecenia SQL SELECT, aby pobrać dane z tabeli MySQL. Gdy wybierzesz wiersze, serwer MySQL może je zwrócić w dowolnej kolejności, chyba że polecisz inaczej, mówiąc, jak posortować wynik. Ale sortujesz zestaw wyników, dodając klauzulę ORDER BY, oraz nazwę kolumny lub kolumn, które chcesz posortować.
Składnia
Poniższy blok kodu jest ogólną składnią polecenia SQL SELECT wraz z klauzulą ​​ORDER BY w celu sortowania danych z tabeli MySQL.
SELECT pole1, pole2,...poleN nazwa_tabeli, nazwa_tabeli2...
ORDER BY pole1, [pole2...] [ASC [DESC]]
·      Możesz sortować zwracany wynik w dowolnym polu, jeśli to pole jest wylistowane.
·      Możesz sortować wyniki na więcej niż jednym polu.
·      Możesz użyć słowa kluczowego ASC lub DESC, aby uzyskać wynik w porządku rosnącym lub malejącym. Domyślnie jest to rosnąca kolejność.
·      Możesz użyć klauzuli WHERE ... LIKE w zwykły sposób, aby umieścić warunek.

Korzystanie z klauzuli ORDER BY w wierszu polecenia

Tu będziemy używać polecenia SQL SELECT z klauzulą ORDER BY do pobierania danych z tabeli MySQL - kurs_tbl.
Przykład
Wypróbuj następujący przykład, który zwraca wynik w porządku rosnącym.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use KURS;
Database changed
mysql> select * from kurs_tbl order by kurs_author asc;
+---------+------------+-------------+-----------------+
| kurs_id | kurs_title | kurs_author | submission_date |
+---------+------------+-------------+-----------------+
|       1 | JavaScript | Berg        | 2018-02-02      |
|       4 | HTML       | H.Kern      | 2016-02-14      |
|       2 | Nauka CSS  | K. Nelberg  | 2018-02-02      |
+---------+------------+-------------+-----------------+
3 rows in set (0.04 sec)

mysql>

Korzystanie z klauzuli ORDER BY wewnątrz skryptu PHP

Możesz użyć podobnej składni klauzuli ORDER BY dla funkcji PHP - mysql_query(). Ta funkcja służy do wykonywania polecenia SQL, a później można użyć innej funkcji PHP mysql_fetch_array() do pobrania wszystkich wybranych danych.
Przykład
Wypróbuj poniższy przykład, który zwraca wynik w malejącej kolejności autorów samouczków.
<?php
   $dbhost = 'localhost:3306';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  
   if(! $conn ) {
      die('Nie można się połączyć: ' . mysql_error());
   }
   $sql = 'SELECT kurs_id, kurs_title,
      kurs_author, submission_date
      FROM kurs_tbl
      ORDER BY  kurs_author DESC';

   mysql_select_db('KURS');
   $retval = mysql_query( $sql, $conn );
  
   if(! $retval ) {
      die('Nie można pobrać danych: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Kurs ID :{$row['kurs_id']}  <br> ".
      "Tytuł: {$row['kurs_title']} <br> ".
      "Autor: {$row['kurs_author']} <br> ".
      "Data : {$row['submission_date']} <br> ".
      "--------------------------------<br>";
   }
   echo "Dane pobrano pomyślnie\n";
   mysql_close($conn);
?>



Brak komentarzy:

Prześlij komentarz