Select dan Order by dari Database MySQLKlausa ORDER BY digunakan untuk mengurutkan kumpulan hasil dalam urutan naik atau turun. Show Klausa ORDER BY mengurutkan rekaman dalam urutan menaik secara default. Untuk mengurutkan rekaman dalam urutan menurun, gunakan kata kunci DESC.
Select dan Order Data Dengan MySQLiContoh berikut memilih kolom id, firstname dan lastname dari tabel MyGuests. Catatan akan diurutkan berdasarkan kolom nama belakang: Contoh (MySQLi Object-oriented) : <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Buat Koneksi $conn = new mysqli($servername, $username, $password, $dbname); // Periksa Koneksi if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = $conn->query($sql); if ($result->num_rows > 0) { // data keluaran dari setiap baris while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 results"; } $conn->close(); ?> /*Output id: 1 - Name: John Doe id: 3 - Name: Julie Dooley id: 2 - Name: Mary Moe */ Penjelasan Kode : Pertama, kita siapkan kueri SQL yang memilih kolom id, firstname dan lastname dari tabel MyGuests. Catatan akan diurutkan berdasarkan kolom lastname. Baris kode berikutnya menjalankan kueri dan memasukkan data yang dihasilkan ke dalam variabel yang disebut $result. Kemudian, Jika ada lebih dari nol baris yang dikembalikan, fungsi Contoh berikut menunjukkan hal yang sama seperti contoh di atas, dengan cara prosedural MySQLi: Contoh (MySQLi Prosedural) : <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Buat Koneksi $conn = mysqli_connect($servername, $username, $password, $dbname); // Periksa Koneksi if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // data keluaran dari setiap baris while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?> /*Output id: 1 - Name: John Doe id: 3 - Name: Julie Dooley id: 2 - Name: Mary Moe */ Kita juga bisa meletakkan hasilnya di tabel HTML: Contoh (MySQLi Object-oriented) : <!DOCTYPE html> <html> <head> <style> table, th, td { border: 1px solid black; } </style> </head> <body> <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Name</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>" . $row["id"]. "</td><td>" . $row["firstname"]. " " . $row["lastname"]. "</td></tr>"; } echo "</table>"; } else { echo "0 results"; } $conn->close(); ?> </body> </html> Output : Select Data Dengan PDO (+ Pernyataan Prepare)Contoh berikut menggunakan pernyataan prepare. Di sini kita memiliki kolom id, firstname dan lastname dari tabel MyGuests. Record akan diurutkan berdasarkan kolom lastname dan akan ditampilkan dalam tabel HTML: Contoh (PDO) : <!DOCTYPE html> <html> <body> <?php echo "<table style='border: solid 1px black;'>"; echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>"; class TableRows extends RecursiveIteratorIterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current() { return "<td style='width: 150px; border: 1px solid black;'>" . parent::current(). "</td>"; } function beginChildren() { echo "<tr>"; } function endChildren() { echo "</tr>" . "\n"; } } $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"); $stmt->execute(); // set the resulting array to associative $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { echo $v; } } catch(PDOException $e) { echo "Error: " . $e->getMessage(); } $conn = null; echo "</table>"; ?> </body> </html> Output : Apa itu ORDER BY dalam SQL?ORDER BY biasanya merupakan item terakhir di pernyataan SQL. Anda bisa menyertakan bidang tambahan dalam klausa ORDER BY. Rekaman diurutkan terlebih dahulu oleh bidang pertama yang tercantum setelah pesanan.
Apa fungsi dari sintaks ORDER BY?Perintah ORDER BY merupakan perintah dasar SQL yang di gunakan untuk mengurutkan result-set dalam pengurutan 'ascending' atau 'descending'. Secara default perintah ORDER BY menampilkan record dalam pengurutan 'ascending' ('ASC').
Apa perbedaan group by dan ORDER BY?Jawaban. Jawaban: ORDER BY mengubah urutan pengembalian barang. GROUP BY akan menggabungkan catatan dengan kolom yang ditentukan yang memungkinkan Anda untuk melakukan fungsi agregasi pada kolom yang tidak dikelompokkan (seperti SUM, COUNT, AVG, dll).
Apa itu group by SQL?SQL GROUP BY digunakan untuk mengelompokkan data (record) yang memiliki nilai yang sama. seperti “menemukan jumlah data barang sesuai dengan kategori”. SQL GROUP BY sering digunakan pada fungsi agregat seperti (COUNT(), MAX(), MIN(), SUM(), AVG()) yang menampilkan beberapa kolom.
|