データの要約

AIで学ぶ中級SQLクエリ

Jasmin Ludolf

Senior Data Science Content Developer

集約関数

$$

  • SUM()
  • AVG()
  • MIN()
  • MAX()

$$

  • 映画ごとの平均投票数は?

要約統計を含むレポート

AIで学ぶ中級SQLクエリ

フィールドの要約

$$

  • 集約関数は複数行を1つの値に要約

$$

  • データ全体やグループを把握

プロンプト: 映画全体の総投票数を表示

SELECT SUM(num_votes) AS total_votes
FROM reviews;
|total_votes|
|-----------|
|419507814  |
AIで学ぶ中級SQLクエリ

平均の計算

プロンプト: 映画ごとの平均投票数は?

SELECT AVG(num_votes) AS average_votes_per_film
FROM reviews;
|average_votes_per_film|
|----------------------|
|84441.991545893720    |
AIで学ぶ中級SQLクエリ

結果の丸め

プロンプト: 映画ごとの平均投票数(四捨五入)は?

SELECT ROUND(AVG(num_votes)) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84442    |
ROUND(AVG(num_votes), 1)
84442.0
ROUND(AVG(num_votes), 2)
84441.99
ROUND(AVG(num_votes), -2)
84400
AIで学ぶ中級SQLクエリ

結果の丸め

プロンプト: …小数第1位に丸める

SELECT ROUND(AVG(num_votes), 1) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84442.0  |

プロンプト: …百の位に丸める

SELECT ROUND(AVG(num_votes), -2) AS avg_votes
FROM reviews;
|avg_votes|
|---------|
|84400    |
AIで学ぶ中級SQLクエリ

グループ別の平均

プロンプト: 言語ごとの平均(丸めた)予算を表示し、高い順に並べる

SELECT language, ROUND(AVG(budget)) AS average_budget
FROM films
GROUP BY language
ORDER BY average_budget DESC;
|language |average_budget|
|---------|--------------|
|Greek    |              |
|Kannada  |              |    
|Polish   |              |
|Korean   |2741550000    |
...
AIで学ぶ中級SQLクエリ

最小と最大

プロンプト: 各国の最小予算と最大予算を、国名のアルファベット順で表示

SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
FROM films
GROUP BY country
ORDER BY country;
|country    |lowest_budget|highest_budget|
|-----------|-------------|--------------|
|Afghanistan|46000        |46000         |
|Argentina  |800000       |2000000       |
|Aruba      |35000000     |35000000      |
...

$$

$$

  • 範囲を把握
  • データのスコープを理解
  • 代表値を理解
AIで学ぶ中級SQLクエリ

集約関数とデータ型

数値型のみ

  • SUM()
  • AVG()

多様なデータ型

  • MIN()
  • MAX()
  • COUNT()

$$

最小 <-> 最大

  • 最小 <-> 最大
  • A <-> Z
  • 最古 <-> 最新
AIで学ぶ中級SQLクエリ

最小と最大

SELECT MIN(language) AS min_language
FROM films;
|min_language|
|------------|
|Aboriginal  |
SELECT MAX(language) AS max_language
FROM films;
|max_language|
|------------|
|Zulu        |
AIで学ぶ中級SQLクエリ

SQL ベストプラクティス: 別名

SELECT SUM(budget) AS total_budget
...
SELECT AVG(budget) AS average_budget
...
SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
...
SELECT AVG(num_user), AVG(num_critic)
FROM reviews;
|avg     |avg     |
|275.6...|141.9...|
AIで学ぶ中級SQLクエリ

SQL ベストプラクティス: 書式設定

 

  • 複数行で記述
  • インデントを使用
SELECT country, 
       MIN(budget) AS lowest_budget, 
       MAX(budget) AS highest_budget
FROM films
GROUP BY country
ORDER BY country;

紙の上の眼鏡

SQL アイコン

AIで学ぶ中級SQLクエリ

分析の準備はいいですか?

AIで学ぶ中級SQLクエリ

Preparing Video For Download...