Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
372 views

SQL Aggregate Functions

The document discusses SQL aggregate and scalar functions. It provides examples of common aggregate functions such as AVG(), COUNT(), FIRST(), LAST(), MAX(), MIN(), and SUM() which return a single value calculated from column values. It also discusses scalar functions such as UCASE(), LCASE(), MID(), LEN(), ROUND(), NOW(), and FORMAT() which return a single value based on an input value. The document concludes with an overview of SQL views, how to create them using the CREATE VIEW statement, and examples of views.

Uploaded by

Christine Howell
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
372 views

SQL Aggregate Functions

The document discusses SQL aggregate and scalar functions. It provides examples of common aggregate functions such as AVG(), COUNT(), FIRST(), LAST(), MAX(), MIN(), and SUM() which return a single value calculated from column values. It also discusses scalar functions such as UCASE(), LCASE(), MID(), LEN(), ROUND(), NOW(), and FORMAT() which return a single value based on an input value. The document concludes with an overview of SQL views, how to create them using the CREATE VIEW statement, and examples of views.

Uploaded by

Christine Howell
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

SQL Aggregate Functions

SQL aggregate functions return a single value, calculated from values in a column.
Useful aggregate functions:

AVG() - Returns the average value


COUNT() - Returns the number of rows
FIRST() - Returns the first value
LAST() - Returns the last value
MAX() - Returns the largest value
MIN() - Returns the smallest value
SUM() - Returns the sum

SQL Scalar functions


SQL scalar functions return a single value, based on the input value.
Useful scalar functions:

UCASE() - Converts a field to upper case


LCASE() - Converts a field to lower case
MID() - Extract characters from a text field
LEN() - Returns the length of a text field
ROUND() - Rounds a numeric field to the number of decimals specified
NOW() - Returns the current system date and time
FORMAT() - Formats how a field is to be displayed

The AVG() Function


The AVG() function returns the average value of a numeric column.

SQL AVG() Syntax


SELECT AVG(column_name) FROM table_name

SQL AVG() Example


The following SQL statement gets the average value of the "Price" column from the
"Products" table:

Example
SELECT AVG(Price) AS PriceAverage FROM Products;

The COUNT() function returns the number of rows that matches a specified criteria.

SQL COUNT(column_name) Syntax


The COUNT(column_name) function returns the number of values (NULL values will not
be counted) of the specified column:
SELECT COUNT(column_name) FROM table_name;

SQL COUNT(*) Syntax


The COUNT(*) function returns the number of records in a table:
SELECT COUNT(*) FROM table_name;

SQL COUNT(DISTINCT column_name) Syntax


The COUNT(DISTINCT column_name) function returns the number of distinct values of
the specified column:
SELECT COUNT(DISTINCT column_name) FROM table_name;

SQL COUNT(column_name) Example


The following SQL statement counts the number of orders from "CustomerID"=7 from
the "Orders" table:

Example
SELECT COUNT(CustomerID) AS OrdersFromCustomerID7 FROM Orders
WHERE CustomerID=7;

SQL COUNT(*) Example


The following SQL statement counts the total number of orders in the "Orders" table:

Example
SELECT COUNT(*) AS NumberOfOrders FROM Orders;

SQL COUNT(DISTINCT column_name) Example

The following SQL statement counts the number of unique customers in the "Orders"
table:

Example
SELECT COUNT(DISTINCT CustomerID) AS NumberOfCustomers FROM Orders;

The FIRST() Function


The FIRST() function returns the first value of the selected column.

SQL FIRST() Syntax


SELECT FIRST(column_name) FROM table_name;
Note: The FIRST() function is only supported in MS Access.

SQL FIRST() Workaround in SQL Server, MySQL and


Oracle
SQL Server Syntax
SELECT TOP 1 column_name FROM table_name
ORDER BY column_name ASC;

Example
SELECT TOP 1 CustomerName FROM Customers
ORDER BY CustomerID ASC;

MySQL Syntax
SELECT column_name FROM table_name
ORDER BY column_name ASC
LIMIT 1;

Example
SELECT CustomerName FROM Customers
ORDER BY CustomerID ASC
LIMIT 1;

Oracle Syntax
SELECT column_name FROM table_name
ORDER BY column_name ASC
WHERE ROWNUM <=1;

Example
SELECT CustomerName FROM Customers
ORDER BY CustomerID ASC
WHERE ROWNUM <=1;

The LAST() Function


The LAST() function returns the last value of the selected column.

SQL LAST() Syntax


SELECT LAST(column_name) FROM table_name;
Note: The LAST() function is only supported in MS Access.

SQL LAST() Workaround in SQL Server, MySQL and


Oracle
SQL Server Syntax
SELECT TOP 1 column_name FROM table_name
ORDER BY column_name DESC;

Example
SELECT TOP 1 CustomerName FROM Customers
ORDER BY CustomerID DESC;

MySQL Syntax
SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;

Example
SELECT CustomerName FROM Customers
ORDER BY CustomerID DESC
LIMIT 1;

Oracle Syntax
SELECT column_name FROM table_name
ORDER BY column_name DESC
WHERE ROWNUM <=1;

Example
SELECT CustomerName FROM Customers
ORDER BY CustomerID DESC
WHERE ROWNUM <=1;

The MAX() Function


The MAX() function returns the largest value of the selected column.

SQL MAX() Syntax


SELECT MAX(column_name) FROM table_name;

SQL MAX() Example


The following SQL statement gets the largest value of the "Price" column from the
"Products" table:

Example
SELECT MAX(Price) AS HighestPrice FROM Products;

The MIN() Function


The MIN() function returns the smallest value of the selected column.

SQL MIN() Syntax


SELECT MIN(column_name) FROM table_name;

SQL MIN() Example


The following SQL statement gets the smallest value of the "Price" column from the
"Products" table:

Example
SELECT MIN(Price) AS SmallestOrderPrice FROM Products;

The SUM() Function

The SUM() function returns the total sum of a numeric column.

SQL SUM() Syntax


SELECT SUM(column_name) FROM table_name;

SQL SUM() Example


The following SQL statement finds the sum of all the "Quantity" fields for the
"OrderDetails" table:

Example
SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;

SQL Views
A view is a virtual table.

SQL CREATE VIEW Statement


In SQL, a view is a virtual table based on the result-set of an SQL statement.
A view contains rows and columns, just like a real table. The fields in a view are fields
from one or more real tables in the database.
You can add SQL functions, WHERE, and JOIN statements to a view and present the
data as if the data were coming from one single table.

SQL CREATE VIEW Syntax


CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Note: A view always shows up-to-date data! The database engine recreates the data,
using the view's SQL statement, every time a user queries a view.

SQL CREATE VIEW Examples


If you have the Northwind database you can see that it has several views installed by
default.

The view "Current Product List" lists all active products (products that are not
discontinued) from the "Products" table. The view is created with the following SQL:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
We can query the view above as follows:
SELECT * FROM [Current Product List]
Another view in the Northwind sample database selects every product in the "Products"
table with a unit price higher than the average unit price:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName,UnitPrice
FROM Products
WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
We can query the view above as follows:
SELECT * FROM [Products Above Average Price]
Another view in the Northwind database calculates the total sale for each category in
1997. Note that this view selects its data from another view called "Product Sales for
1997":
CREATE VIEW [Category Sales For 1997] AS
SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
FROM [Product Sales for 1997]
GROUP BY CategoryName
We can query the view above as follows:
SELECT * FROM [Category Sales For 1997]
We can also add a condition to the query. Now we want to see the total sale only for
the category "Beverages":
SELECT * FROM [Category Sales For 1997]
WHERE CategoryName='Beverages'

SQL Updating a View


You can update a view by using the following syntax:

SQL CREATE OR REPLACE VIEW Syntax


CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
Now we want to add the "Category" column to the "Current Product List" view. We will
update the view with the following SQL:
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName,Category
FROM Products
WHERE Discontinued=No

SQL Dropping a View


You can delete a view with the DROP VIEW command.

SQL DROP VIEW Syntax


DROP VIEW view_name

You might also like