Utforska våra data

Rapportering i SQL

Tyler Pernes

Learning & Development Consultant

Utforska med konsolen

Rapportering i SQL

Utforska med konsolen

  • Kan ge en missvisande bild
preview of table: summer_games
+-------------+-----------------------------------------+--------+
| sport       | event                                   | bronze |
|-------------|-----------------------------------------|--------|
| Gymnastics  | Gymnastics Men's Individual All-Around  | null   |
| Gymnastics  | Gymnastics Men's Floor Exercise         | null   |
| Gymnastics  | Gymnastics Men's parallel Bars          | null   |
+-------------+-----------------------------------------+--------+
Rapportering i SQL

Utforska med konsolen

  • Ingen insikt om fördelningar
preview of table: clients
+--------------------+
| country_of_client  |
|--------------------|
| United States      |
| United States      |
| Mexico             |
| United States      |
| Canada             |
| Canada             |
+--------------------+
Rapportering i SQL

Utforska med frågor

SELECT DISTINCT region
FROM countries;
+-------------------------+
| region                  |
|-------------------------|
| WESTERN EUROPE          |
| null                    |
| C.W. IF IND. STATES     |
| OCEANIA                 |  
| NEAR EAST               |
| SUB-SAHARAN AFRICA      |
+-------------------------+
Rapportering i SQL

Utforska med frågor

SELECT region
FROM countries
GROUP BY region;
+-------------------------+
| region                  |
|-------------------------|
| WESTERN EUROPE          |
| null                    |
| C.W. IF IND. STATES     |
| OCEANIA                 |  
| NEAR EAST               |
| SUB-SAHARAN AFRICA      |
+-------------------------+
Rapportering i SQL

Aggregeringar på fältnivå

SELECT region, COUNT(*) AS row_num
FROM countries
GROUP BY region
ORDER BY row_num DESC;
+-------------------------+---------+
| region                  | row_num |
|-------------------------|---------|
| SUB-SAHARAN AFRICA      | 49      |
| LATIN AMER. & CARIB     | 38      |
| ASIA (EX. NEAR EAST)    | 26      |
| WESTERN EUROPE          | 23      |
| OCEANIA                 | 15      |
| EASTERN EUROPE          | 15      |
+-------------------------+---------+
Rapportering i SQL

Aggregeringar på fältnivå

SELECT revenue_source, SUM(revenue) AS revenue
FROM orders
GROUP BY revenue_source
ORDER BY revenue DESC;
+----------------+----------+
| revenue_source | revenue  |
|----------------|----------|
| Olympics       | 122000   |
| NFL            | 80500    |
| MLB            | 300      |
| NBA            | 220      |
| NCAAF          | 120      |
| NCAAB          | 90       |
+----------------+----------+
Rapportering i SQL

Aggregeringar på tabellnivå

SELECT COUNT(*)
FROM country_stats;
+---------+
| count   |
|---------|
| 3451    |
+---------+
Rapportering i SQL

Frågvalidering

Rapportering i SQL

Frågvalidering

FRÅGA:
SELECT SUM(rev) AS revenue
FROM
  (SELECT country, SUM(rev) AS rev
  FROM orders AS o
  JOIN countries AS c
  ON o.country_id = c.id
  GROUP BY country);
+------------+
| revenue    |
|------------|
| 50.00      |
+------------+
ORIGINALTABELL:
SELECT SUM(rev) AS revenue
FROM orders;
+------------+
| revenue    |
|------------|
| 500.00     |
+------------+
  • Vår fråga (vänster) = $50
  • Originaltabell (höger) = $500
  • 90 % av intäkterna förlorades i JOIN
Rapportering i SQL

Frågvalidering

FRÅGA:
SELECT SUM(rev) AS revenue
FROM
  (SELECT country, SUM(rev) AS rev
  FROM orders AS o
  JOIN country_stats AS cs
  ON o.country_id = cs.country_id
  GROUP BY country);
+------------+
| revenue    |
|------------|
| 5,000.00   |
+------------+
ORIGINALTABELL:
SELECT SUM(rev) AS revenue
FROM orders;
+------------+
| revenue    |
|------------|
| 500.00     |
+------------+
  • Vår fråga (vänster) = $5 000
  • Originaltabell (höger) = $500
  • 10 gångers duplicering från JOIN
Rapportering i SQL

Nu kör vi en övning!

Rapportering i SQL

Preparing Video For Download...