🧚 주목! Beekeeper Studio는 빠르고 현대적이며 오픈 소스 데이터베이스 GUI입니다 다운로드
January 7, 2026 작성자: Matthew Rathbone

To create a pivot table in SQL, you will need to use the GROUP BY and CASE statements. Here is an example of how you might go about creating a pivot table.

Throughout this guide, you’ll find interactive SQL exercises where you can practice creating pivot tables directly in your browser. These hands-on examples will help you master using CASE statements with aggregate functions to transform rows into columns—essential for creating summary reports and dashboards.

Using a demo sales table

First, let’s say we have a table called sales that contains information about sales transactions. The table has the following columns: date, product, quantity, and price.

Simple pivot table example

To create a pivot table that shows the total quantity and total price for each product, we would use the following query:

SELECT
  product,
  SUM(CASE WHEN quantity THEN quantity ELSE 0 END) AS total_quantity,
  SUM(CASE WHEN price THEN price ELSE 0 END) AS total_price
FROM sales
GROUP BY product

This query uses a CASE statement to specify which values should be included in the pivot table, and then uses the SUM function to calculate the total quantity and total price for each product. The GROUP BY statement groups the rows by product, which allows us to see the totals for each product separately.

Pivot table results

Here is an example of what the resulting pivot table might look like:

product total_quantity total_price
ProductA 50 500
ProductB 100 1000
ProductC 75 750

Try it yourself:

[[ expanded ? '▼' : '▶' ]]

[[ testData.title ]]

Query the weather_data table to create a pivot table showing average temperature for each city by day of week. Transform the day rows into separate columns (Mon, Tue, Wed).

인터랙티브 예제 ✓ 완료
예상 열: [[ col ]]
ℹ️ 이 연습은 실행할 때마다 데이터베이스를 초기화합니다. 완전한 솔루션을 한 번에 작성하세요.
[[ i18n.correct ]] [[ validationResult ? i18n.all_checks_passed : i18n.query_success ]]
[[ detail.message ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.not_quite_right ]] [[ patternError ]] [[ validationResult.error ]] [[ i18n.results_dont_match ]]
[[ detail.passed ? '✓' : '✗' ]] [[ detail.message ]]
[[ i18n.your_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.expected_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.sql_error ]]
[[ error ]]
💡 [[ i18n.hint_label ]] [[ testData.hint ]]
📊 [[ i18n.expected_result_label ]]
[[ col ]]
[[ formatCell(cell) ]]
✨ [[ i18n.solution_label ]]
[[ testData.solution ]]
사용 가능한 테이블
[[ table.name ]]
[[ col ]]
[[ formatCell(cell) ]]

This example shows the classic pivot pattern: transforming rows (months) into columns using CASE statements with SUM aggregation.

SUM, AVG, or other aggregate functions

You can also use the GROUP BY and CASE statements to create pivot tables that show other types of data, such as the average price for each product. For example, the following query would create a pivot table that shows the average price for each product:

SELECT
  product,
  AVG(CASE WHEN price THEN price ELSE NULL END) AS avg_price
FROM sales
GROUP BY product

The resulting pivot table would look something like this:

product avg_price
ProductA 10
ProductB 20
ProductC 15

Try it yourself:

[[ expanded ? '▼' : '▶' ]]

[[ testData.title ]]

Query the website_traffic table to create a pivot table showing both sessions and pageviews for each traffic source. Show Desktop and Mobile as separate column groups.

인터랙티브 예제 ✓ 완료
예상 열: [[ col ]]
ℹ️ 이 연습은 실행할 때마다 데이터베이스를 초기화합니다. 완전한 솔루션을 한 번에 작성하세요.
[[ i18n.correct ]] [[ validationResult ? i18n.all_checks_passed : i18n.query_success ]]
[[ detail.message ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.not_quite_right ]] [[ patternError ]] [[ validationResult.error ]] [[ i18n.results_dont_match ]]
[[ detail.passed ? '✓' : '✗' ]] [[ detail.message ]]
[[ i18n.your_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.expected_results ]]
[[ col ]]
[[ formatCell(cell) ]]
[[ i18n.sql_error ]]
[[ error ]]
💡 [[ i18n.hint_label ]] [[ testData.hint ]]
📊 [[ i18n.expected_result_label ]]
[[ col ]]
[[ formatCell(cell) ]]
✨ [[ i18n.solution_label ]]
[[ testData.solution ]]
사용 가능한 테이블
[[ table.name ]]
[[ col ]]
[[ formatCell(cell) ]]

This advanced example demonstrates pivoting with multiple aggregations—combining different metrics into column groups for comprehensive analysis.

Summary

In summary, to create a pivot table in SQL, you can use the GROUP BY and CASE statements along with aggregation functions like SUM and AVG to calculate and display the data you want to see in the pivot table. This approach allows you to easily summarize and analyze large amounts of data, and can be very useful for making business decisions.

Beekeeper Studio는 무료 & 오픈 소스 데이터베이스 GUI입니다

제가 사용해 본 최고의 SQL 쿼리 & 편집기 도구입니다. 데이터베이스 관리에 필요한 모든 것을 제공합니다. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio는 빠르고 직관적이며 사용하기 쉽습니다. Beekeeper는 많은 데이터베이스를 지원하며 Windows, Mac, Linux에서 훌륭하게 작동합니다.

Beekeeper의 Linux 버전은 100% 완전한 기능을 갖추고 있으며, 기능 타협이 없습니다.

사용자들이 Beekeeper Studio에 대해 말하는 것

★★★★★
"Beekeeper Studio는 제 예전 SQL 워크플로를 완전히 대체했습니다. 빠르고 직관적이며 데이터베이스 작업을 다시 즐겁게 만들어 줍니다."
— Alex K., 데이터베이스 개발자
★★★★★
"많은 데이터베이스 GUI를 사용해 봤지만, Beekeeper는 기능과 단순함 사이의 완벽한 균형을 찾았습니다. 그냥 작동합니다."
— Sarah M., 풀스택 엔지니어

SQL 워크플로를 개선할 준비가 되셨나요?

download 무료 다운로드