Table of Contents
Introduction to Oracle GROUP BY clause
Oracle GROUP BY Example
Home Database Oracle How to use oracle group by

How to use oracle group by

Mar 17, 2022 pm 12:47 PM
group by oracle

In Oracle, the "group by" keyword needs to be used together with the SELECT statement to group query results. Rows can be combined into grouped summary rows by row or expression value; syntax "SELECT field list FROM data table name GROUP BY field name;".

How to use oracle group by

The operating environment of this tutorial: Windows 7 system, Oracle 11g version, Dell G3 computer.

Introduction to Oracle GROUP BY clause

The GROUP BY keyword can group query results based on one or more fields.

The GROUP BY clause is used in the SELECT statement to combine rows into grouped summary rows by the value of the row or expression. The GROUP BY clause returns one row for each group.

The GROUP BY clause is typically used with aggregate functions such as AVG(), COUNT(), MAX(), MIN(), and SUM(). In this case, the aggregate function returns summary information for each grouping. For example, given several categories of products, the AVG() function returns the average price of the products in each category.

The following illustrates the syntax of the Oracle GROUP BY clause:

SELECT
    字段列表
FROM
    数据表名
GROUP BY
    字段名;
Copy after login

The GROUP BY clause appears after the FROM clause. When a WHERE clause is provided, the GROUP BY clause must be placed before the WHERE clause.

The GROUP BY clause groups rows by the values ​​in the grouping column (such as c1, c2 and c3). The GROUP BY clause can only contain aggregated or grouped columns.

If you want to specify multiple grouping levels that should be calculated at once, use the following ROLLUP syntax:

SELECT
    字段列表
FROM
    数据表名
GROUP BY
    ROLLUP(c1,c2,c3);
Copy after login

Oracle GROUP BY Example

We will demonstrate using the following orders and order_items tables in the sample database:

How to use oracle group by

1. Basic Example of Oracle GROUP BY

The following statement uses the GROUP BY clause to find unique order statuses in the orders table:

SELECT
    status
FROM
    orders
GROUP BY
    status;
Copy after login

Execute the above query statement and get the following results-

How to use oracle group by

This statement has the same effect as the following statement using the DISTINCT operator:

SELECT
    DISTINCT status
FROM
    orders;
Copy after login

2. Oracle GROUP BY aggregation example

The following statement returns the customer’s order quantity:

SELECT
    customer_id, COUNT( order_id )
FROM
    orders
GROUP BY
    customer_id
ORDER BY
    customer_id;
Copy after login

Execute the above query statement , and get the following results -

How to use oracle group by

In this example, we group the orders by customer number and use the COUNT() function to return the quantity of order.

To obtain more meaningful data, you can join the orders table with the customers table as follows:

SELECT
    name, COUNT( order_id )
FROM
    orders
INNER JOIN customers
        USING(customer_id)
GROUP BY
    name
ORDER BY
    name;
Copy after login

Execute the above query statement , get the following results-

How to use oracle group by

3. Oracle GROUP BY expression example

The following example is by year Groups the orders and returns the number of orders per year. Refer to the following query statement-

SELECT
    EXTRACT(YEAR FROM order_date) YEAR,
    COUNT( order_id )
FROM
    orders
GROUP BY
    EXTRACT(YEAR FROM order_date)
ORDER BY
    YEAR;
Copy after login

Execute the above query statement and get the following results-

How to use oracle group by

In this example, we use EXTRACT()The function gets the year information from the date of the order.

Unlike the previous example, this uses an expression that returns the year in the GROUP BY clause.

4. Oracle GROUP BY with ROLLUP example

The following statement calculates the sales volume by customer_id,## Group them with #status and (customer_id, status):

SELECT
    customer_id,
    status,
    SUM( quantity * unit_price ) sales
FROM
    orders
INNER JOIN order_items
        USING(order_id)
GROUP BY
    ROLLUP(
        customer_id,
        status
    );
Copy after login
Execute the above query statement and get the following results-

How to use oracle group by

Recommended tutorial: "

Oracle Tutorial"

The above is the detailed content of How to use oracle group by. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How long will Oracle database logs be kept? How long will Oracle database logs be kept? May 10, 2024 am 03:27 AM

The retention period of Oracle database logs depends on the log type and configuration, including: Redo logs: determined by the maximum size configured with the "LOG_ARCHIVE_DEST" parameter. Archived redo logs: Determined by the maximum size configured by the "DB_RECOVERY_FILE_DEST_SIZE" parameter. Online redo logs: not archived, lost when the database is restarted, and the retention period is consistent with the instance running time. Audit log: Configured by the "AUDIT_TRAIL" parameter, retained for 30 days by default.

The order of the oracle database startup steps is The order of the oracle database startup steps is May 10, 2024 am 01:48 AM

The Oracle database startup sequence is: 1. Check the preconditions; 2. Start the listener; 3. Start the database instance; 4. Wait for the database to open; 5. Connect to the database; 6. Verify the database status; 7. Enable the service (if necessary ); 8. Test the connection.

How much memory does oracle require? How much memory does oracle require? May 10, 2024 am 04:12 AM

The amount of memory required by Oracle depends on database size, activity level, and required performance level: for storing data buffers, index buffers, executing SQL statements, and managing the data dictionary cache. The exact amount is affected by database size, activity level, and required performance level. Best practices include setting the appropriate SGA size, sizing SGA components, using AMM, and monitoring memory usage.

How to see the number of occurrences of a certain character in Oracle How to see the number of occurrences of a certain character in Oracle May 09, 2024 pm 09:33 PM

To find the number of occurrences of a character in Oracle, perform the following steps: Get the total length of a string; Get the length of the substring in which a character occurs; Count the number of occurrences of a character by subtracting the substring length from the total length.

Oracle database server hardware configuration requirements Oracle database server hardware configuration requirements May 10, 2024 am 04:00 AM

Oracle database server hardware configuration requirements: Processor: multi-core, with a main frequency of at least 2.5 GHz. For large databases, 32 cores or more are recommended. Memory: At least 8GB for small databases, 16-64GB for medium sizes, up to 512GB or more for large databases or heavy workloads. Storage: SSD or NVMe disks, RAID arrays for redundancy and performance. Network: High-speed network (10GbE or higher), dedicated network card, low-latency network. Others: Stable power supply, redundant components, compatible operating system and software, heat dissipation and cooling system.

How to read dbf file in oracle How to read dbf file in oracle May 10, 2024 am 01:27 AM

Oracle can read dbf files through the following steps: create an external table and reference the dbf file; query the external table to retrieve data; import the data into the Oracle table.

How much memory is needed to use oracle database How much memory is needed to use oracle database May 10, 2024 am 03:42 AM

The amount of memory required for an Oracle database depends on the database size, workload type, and number of concurrent users. General recommendations: Small databases: 16-32 GB, Medium databases: 32-64 GB, Large databases: 64 GB or more. Other factors to consider include database version, memory optimization options, virtualization, and best practices (monitor memory usage, adjust allocations).

Oracle scheduled tasks execute the creation step once a day Oracle scheduled tasks execute the creation step once a day May 10, 2024 am 03:03 AM

To create a scheduled task in Oracle that executes once a day, you need to perform the following three steps: Create a job. Add a subjob to the job and set its schedule expression to "INTERVAL 1 DAY". Enable the job.

See all articles