In diesem Kapitel wird erläutert, wie verwendet die ORDER BY-Klausel in einer SELECT-Anweisung werden. Die ORDER BY-Klausel wird verwendet, um abrufen die Details basierend auf einer Spalte und sortiert die Ergebnisse setzen durch aufsteigender oder absteigender Reihenfolge.
Da unten ist die Syntax der ORDER BY-Klausel:
SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING having_condition] [ORDER BY col_list]] [LIMIT number];
Nehmen wir ein Beispiel für SELECT ... ORDER BY-Klausel. Angenommen Mitarbeitertabelle wie unten gegeben, mit den Feldern mit dem Namen ID, Name, Gehalt, Benennung und Dept. Generieren Sie eine Abfrage, um abrufen die MitarbeiterNähere in um durch mitHilfe Abteilungsname abrufen.
+------+--------------+-------------+-------------------+--------+ | ID | Name | Salary | Designation | Dept | +------+--------------+-------------+-------------------+--------+ |1201 | Gopal | 45000 | Technical manager | TP | |1202 | Manisha | 45000 | Proofreader | PR | |1203 | Masthanvali | 40000 | Technical writer | TP | |1204 | Krian | 40000 | Hr Admin | HR | |1205 | Kranthi | 30000 | Op Admin | Admin | +------+--------------+-------------+-------------------+--------+
Die folgende Abfrage ruft die MitarbeiterNähere unter Verwendung des obigen Szenario:
hive> SELECT Id, Name, Dept FROM employee ORDER BY DEPT;
Auf erfolgreicher Ausführung der Abfrage, erhalten Sie die folgende Antwort zu sehen:
+------+--------------+-------------+-------------------+--------+ | ID | Name | Salary | Designation | Dept | +------+--------------+-------------+-------------------+--------+ |1205 | Kranthi | 30000 | Op Admin | Admin | |1204 | Krian | 40000 | Hr Admin | HR | |1202 | Manisha | 45000 | Proofreader | PR | |1201 | Gopal | 45000 | Technical manager | TP | |1203 | Masthanvali | 40000 | Technical writer | TP | +------+--------------+-------------+-------------------+--------+
Hier ist der JDBC-Programm, um Bestellung By-Klausel für das gegebene Beispiel gelten.
import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.DriverManager; public class HiveQLOrderBy { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException { // Register driver and create driver instance Class.forName(driverName); // get connection Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/userdb", "", ""); // create statement Statement stmt = con.createStatement(); // execute statement Resultset res = stmt.executeQuery("SELECT * FROM employee ORDER BY DEPT;"); System.out.println(" ID \t Name \t Salary \t Designation \t Dept "); while (res.next()) { System.out.println(res.getInt(1) + " " + res.getString(2) + " " + res.getDouble(3) + " " + res.getString(4) + " " + res.getString(5)); } con.close(); } }
Speichern Sie das Programm in einer Datei namens HiveQLOrderBy.java. Verwenden Sie die folgenden Befehle zu kompilieren und das Programm hinrichten.
$ javac HiveQLOrderBy.java $ java HiveQLOrderBy
ID Name Salary Designation Dept 1205 Kranthi 30000 Op Admin Admin 1204 Krian 40000 Hr Admin HR 1202 Manisha 45000 Proofreader PR 1201 Gopal 45000 Technical manager TP 1203 Masthanvali 40000 Technical writer TP 1204 Krian 40000 Hr Admin HR