热门面试题与答案和在线测试
面向面试准备、在线测试、教程与实战练习的学习平台

通过聚焦学习路径、模拟测试和面试实战内容持续提升技能。

WithoutBook 将分主题面试题、在线练习测试、教程和对比指南整合到一个响应式学习空间中。

Chapter 7

Aggregate Functions, GROUP BY, HAVING, and Analytic Functions

Use Oracle DB for summaries, reporting, rankings, running calculations, and analytical-style SQL.

Inside this chapter

  1. Why Aggregation Matters
  2. Core Aggregate Functions
  3. Filtering Aggregated Results
  4. Analytic Functions for Advanced SQL

Series navigation

Study the chapters in order for the clearest path from Oracle SQL basics to PL/SQL, recovery, tuning, and enterprise operations. Use the navigation at the bottom of each page to move through the full series.

Tutorial Home

Chapter 7

Why Aggregation Matters

Business teams want totals, averages, status counts, top performers, trends, and grouped summaries. Oracle SQL can compute these directly and efficiently close to the data.

Chapter 7

Core Aggregate Functions

SELECT
    order_status,
    COUNT(*) AS total_orders
FROM orders
GROUP BY order_status;

Functions like COUNT, SUM, AVG, MIN, and MAX are the building blocks of reporting SQL.

Chapter 7

Filtering Aggregated Results

SELECT
    customer_id,
    COUNT(*) AS total_orders
FROM orders
GROUP BY customer_id
HAVING COUNT(*) >= 5;

HAVING filters grouped results after aggregation, while WHERE filters detail rows first.

Chapter 7

Analytic Functions for Advanced SQL

SELECT
    order_id,
    customer_id,
    order_date,
    ROW_NUMBER() OVER (
        PARTITION BY customer_id
        ORDER BY order_date DESC
    ) AS customer_order_rank
FROM orders;

Oracle analytic functions are extremely powerful. They support ranking, running totals, lag/lead comparisons, and advanced reporting patterns without collapsing all detail rows. These are essential for advanced SQL work.

版权所有 © 2026,WithoutBook。