How to use oracle group by
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;".
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 字段名;
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);
Oracle GROUP BY Example
We will demonstrate using the following orders
and order_items
tables in the sample database:
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;
Execute the above query statement and get the following results-
This statement has the same effect as the following statement using the DISTINCT
operator:
SELECT DISTINCT status FROM orders;
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;
Execute the above query statement , and get the following results -
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;
Execute the above query statement , get the following results-
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;
Execute the above query statement and get the following results-
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 );
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



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 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.

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.

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: 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.

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.

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).

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.
