SQLのORDER BY句を使ったデータのソート方法や応用テクニックを詳しく解説します。効率的なデータ管理のためのソートとは何か、その重要性とは?
SQL計算で実現するデータ集計とテーブル操作の基礎
SQLを使った計算処理の基本から応用まで、実践的なサンプルコードと共に解説します。データベース初心者でも理解できる内容から、実務で使える高度な集計まで、SQLの計算機能を使いこなせるようになりませんか?
データベースでの計算処理の基本となるのが算術演算子です。SQLでは以下の演算子が利用可能です:
-- 加算の例
SELECT column1 + column2 AS sum_result
FROM table_name
-- 減算の例
SELECT column1 - column2 AS subtract_result
FROM table_name
-- 乗算の例
SELECT column1 * column2 AS multiply_result
FROM table_name
-- 除算の例
SELECT column1 / column2 AS divide_result
FROM table_name
データの分析には集計関数が不可欠です。主要な集計関数とその使用例を見ていきましょう:
-- 合計値の計算
SELECT SUM(sales_amount) AS total_sales
FROM sales_table
-- 平均値の計算
SELECT AVG(price) AS average_price
FROM products
-- 最大値と最小値の取得
SELECT
MAX(price) AS highest_price,
MIN(price) AS lowest_price
FROM products
GROUP BY句を使用することで、特定の条件でグループ化した集計が可能になります:
-- 商品カテゴリ別の売上集計
SELECT
category,
SUM(sales_amount) AS category_sales,
AVG(sales_amount) AS average_sales,
COUNT(*) AS sales_count
FROM sales_table
GROUP BY category
日付や時刻に関する計算処理も重要です:
-- 日付の差分を計算
SELECT
order_date,
delivery_date,
DATEDIFF(day, order_date, delivery_date) AS delivery_days
FROM orders
-- 月別集計
SELECT
FORMAT(order_date, 'yyyy-MM') AS month,
SUM(amount) AS monthly_total
FROM sales
GROUP BY FORMAT(order_date, 'yyyy-MM')
複雑な計算を行う際は、以下のような点に注意が必要です:
-- 効率的な集計処理の例
WITH monthly_sales AS (
SELECT
product_id,
MONTH(sale_date) AS sale_month,
SUM(amount) AS total_amount
FROM sales
GROUP BY product_id, MONTH(sale_date)
)
SELECT
p.product_name,
ms.sale_month,
ms.total_amount
FROM monthly_sales ms
JOIN products p ON ms.product_id = p.id