1.
Introduction
2.
What is Order by Clause in SQL?
2.1.
Order By Syntax
2.2.
Explanation
2.3.
Example
2.4.
SQL
2.5.
Output
3.
What is Group by Clause in SQL?
3.1.
Group By Syntax
3.2.
Explanation
3.3.
Example
3.4.
SQL
3.5.
Output
4.
Difference Between Order by and Group by Clause in SQL
5.
5.1.
Can the ORDER BY clause and the GROUP BY clause be used together in SQL?
5.2.
What is the main difference between ORDER BY and GROUP BY clauses?
5.3.
Is GROUP BY and ORDER BY same in SQL?
5.4.
Which is first GROUP BY or ORDER BY in SQL?
6.
Conclusion
Last Updated: Mar 27, 2024
Easy

# Difference between GROUP BY and ORDER BY

Master Python: Predicting weather forecasts
Speaker
Ashwin Goyal
Product Manager @

## Introduction

The GROUP BY statement is a powerful tool that facilitates data organization by grouping it according to specific columns specified in the query. This statement is commonly used alongside aggregate functions to summarize data effectively. On the other hand, the ORDER BY clause offers even greater control over result sets, allowing you to arrange them in either ascending or descending order, based on alphabetical or numerical values.

SQL(Structured Query Language) is used for accessing and manipulating databases. Group By and Order By are both clauses of SQL. These are both used to organize data obtained by SQL queries.

Before discussing the difference between GROUP BY and ORDER BY clauses, we will first know about these SQL clauses individually.

Also See, Basic SQL

## What is Order by Clause in SQL?

ORDER BY clause sorts the result-set of data in ascending or descending order. By default, it sorts the data in ascending order. DESC keyword sorts the result-data set in descending order.

### Order By Syntax

``````SELECT column1_, column2_â€¦.
FROM table_name
WHERE conditions_
ORDER BY column1_, column2_, .... ASC|DESC; ``````

### Explanation

Here, SELECT column1_, column2_â€¦â€¦. is the command that tells the SQL server to select column1_, column2_,.... from table â€śtable_nameâ€ť fulfilling the conditions in WHERE clause.

### Example

In this example, we will create a table and use the order by clause on the Score column with the DESC keyword.

• SQL

### SQL

``CREATE TABLE Students (    ID INT PRIMARY KEY,    Name VARCHAR(255),    Score INT);INSERT INTO Students (ID, Name, Score)VALUES    (1, 'Alice', 85),    (2, 'Bob', 92),    (3, 'Charlie', 78),    (4, 'David', 95),    (5, 'Emily', 88);SELECT Name, ScoreFROM StudentsORDER BY Score DESC;``

### Output

The output is sorted in descending order based on the values of the score column.

Also see, Natural Join in SQL

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

## What is Group by Clause in SQL?

As the name suggests, the GROUP BY clause groups the rows with the same attribute values. It uses aggregate functions like SUM, AVG, MIN, MAX, and COUNT. Here, the tuples(rows) are grouped based on similarities between attribute values.

### Group By Syntax

``````SELECT column_name1, function_type(column_name2)
FROM table_name
WHERE conditions_
GROUP BY column_name1``````

### Explanation

Here, SELECT column_name1, function_type(column_name2) selects column_name and applies the aggregate function â€śfunction_typeâ€ť on column_name2 from table â€śtable_nameâ€ť fulfilling the conditions in WHERE clause and finally grouping them by column_name1.

### Example

In this example, we will create a table of orders and use the group by clause on the CustomerName column along with the SUM aggregate function.

• SQL

### SQL

``CREATE TABLE Orders (    OrderID INT PRIMARY KEY,    CustomerName VARCHAR(255),    OrderDate DATE,    OrderAmount DECIMAL(10, 2));INSERT INTO Orders (OrderID, CustomerName, OrderDate, OrderAmount)VALUES    (1, 'Alice', '2023-09-01', 150.00),    (2, 'Bob', '2023-09-02', 200.50),    (3, 'Charlie', '2023-09-02', 75.25),    (4, 'Alice', '2023-09-03', 220.75),    (5, 'Emily', '2023-09-03', 180.00);SELECT CustomerName, SUM(OrderAmount) AS TotalAmountFROM OrdersGROUP BY CustomerName;``

### Output

The resultant table displays the total order amount for each customer.

## Difference Between Order by and Group by Clause in SQL

### Can the ORDER BY clause and the GROUP BY clause be used together in SQL?

Yes, but the placement of both clauses is vital. You must place the ORDER BY clause after the GROUP BY clause. And the GROUP BY clause must be placed after the WHERE clause.

### What is the main difference between ORDER BY and GROUP BY clauses?

The ORDER BY clause sorts the data in ascending or descending order. Whereas the GROUP BY clause groups the tuples(rows) based on the similarities of columns. Using the aggregate function to use the GROUP BY clause is compulsory.

### Is GROUP BY and ORDER BY same in SQL?

No, GROUP BY and ORDER BY are not the same. They serve different purposes. The GROUP BY clause is used to group rows that have the same values in one or more columns. On the other hand, the ORDER BY clause is used to sort the result set of a SQL query based on one or more columns.

### Which is first GROUP BY or ORDER BY in SQL?

In SQL, the GROUP BY clause is executed before the ORDER BY clause. First, rows are grouped based on the specified columns in GROUP BY, and then the result set is sorted using ORDER BY.

## Conclusion

In summary, both GROUP BY and ORDER BY are essential SQL clauses. GROUP BY helps organize data into groups, while ORDER BY sorts data based on specified columns. Understanding when to use each empowers efficient data management and querying in SQL.