Queer European MD passionate about IT
John Aoga 4 роки тому
батько
коміт
4867000697
1 змінених файлів з 1671 додано та 0 видалено
  1. 1671 0
      Mission594Solutions.ipynb

+ 1671 - 0
Mission594Solutions.ipynb

@@ -0,0 +1,1671 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Guided Project: Sales Performance Analysis with SQL\n",
+    "## Learn to combine SQL's skills we've learned to perform practical data analysis\n",
+    "## Dataquest"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "[]"
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%load_ext sql\n",
+    "%sql sqlite://\n",
+    "%sql attach \"sales.db\" as sales"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Guided Project Introduction"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>id</th>\n",
+       "        <th>name</th>\n",
+       "        <th>description</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>products</td>\n",
+       "        <td>Items in the stores</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>regions</td>\n",
+       "        <td>Geographic areas where stores exist</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>sales</td>\n",
+       "        <td>Transactions in the store alongside with product, region, and time dimensions</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>4</td>\n",
+       "        <td>sales_details</td>\n",
+       "        <td>Transactions in the stores with several details</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>5</td>\n",
+       "        <td>table_name</td>\n",
+       "        <td>Tables in the database</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>6</td>\n",
+       "        <td>time</td>\n",
+       "        <td>Dates</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, 'products', 'Items in the stores'),\n",
+       " (2, 'regions', 'Geographic areas where stores exist'),\n",
+       " (3, 'sales', 'Transactions in the store alongside with product, region, and time dimensions'),\n",
+       " (4, 'sales_details', 'Transactions in the stores with several details'),\n",
+       " (5, 'table_name', 'Tables in the database'),\n",
+       " (6, 'time', 'Dates')]"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Title: Sales Performance Analysis\n",
+    "-- Description: we are trying to analyze the sales.db databases to find meanningful trends using SQL.\n",
+    "-- Goal: Our goal is to find the share of sales of the top three regions, the frequently bought products in these top three countrie and the most suitable days for intense marketing and promotion?\n",
+    "\n",
+    "-- table_name table's content.\n",
+    "SELECT *\n",
+    "  FROM table_name;\n",
+    "    "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Getting to know the database"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>product_id</th>\n",
+       "        <th>product_name</th>\n",
+       "        <th>product_description</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>Puff Pastry - Slab</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>Lamb - Loin Chops</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>Flour - Fast / Rapid</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, 'Puff Pastry - Slab', None),\n",
+       " (2, 'Lamb - Loin Chops', None),\n",
+       " (3, 'Flour - Fast / Rapid', None)]"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- the first three rows of each table from our database\n",
+    "\n",
+    "SELECT *\n",
+    "  FROM products\n",
+    " LIMIT 3;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>region_id</th>\n",
+       "        <th>region_name</th>\n",
+       "        <th>region_description</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>Portugal</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>Netherlands</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, 'Indonesia', None), (2, 'Portugal', None), (3, 'Netherlands', None)]"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "SELECT *\n",
+    "  FROM regions\n",
+    " LIMIT 3;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>sales_id</th>\n",
+       "        <th>time_id</th>\n",
+       "        <th>product_id</th>\n",
+       "        <th>region_id</th>\n",
+       "        <th>transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>4</td>\n",
+       "        <td>868</td>\n",
+       "        <td>227</td>\n",
+       "        <td>154</td>\n",
+       "        <td>-39864</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>5</td>\n",
+       "        <td>436</td>\n",
+       "        <td>684</td>\n",
+       "        <td>724</td>\n",
+       "        <td>79272</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>6</td>\n",
+       "        <td>529</td>\n",
+       "        <td>176</td>\n",
+       "        <td>478</td>\n",
+       "        <td>-33632</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(4, 868, 227, 154, -39864),\n",
+       " (5, 436, 684, 724, 79272),\n",
+       " (6, 529, 176, 478, -33632)]"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "SELECT *\n",
+    "  FROM sales\n",
+    " LIMIT 3;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>time_id</th>\n",
+       "        <th>time_datetime</th>\n",
+       "        <th>time_year</th>\n",
+       "        <th>time_month</th>\n",
+       "        <th>time_day</th>\n",
+       "        <th>time_hour</th>\n",
+       "        <th>time_minute</th>\n",
+       "        <th>time_second</th>\n",
+       "        <th>time_day_of_week</th>\n",
+       "        <th>product_name</th>\n",
+       "        <th>region_name</th>\n",
+       "        <th>transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>868</td>\n",
+       "        <td>2013-06-26 13:50:36</td>\n",
+       "        <td>2013</td>\n",
+       "        <td>6</td>\n",
+       "        <td>26</td>\n",
+       "        <td>13</td>\n",
+       "        <td>50</td>\n",
+       "        <td>36</td>\n",
+       "        <td>4</td>\n",
+       "        <td>Chickensplit Half</td>\n",
+       "        <td>Pakistan</td>\n",
+       "        <td>-39864</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>436</td>\n",
+       "        <td>2012-06-14 09:34:24</td>\n",
+       "        <td>2012</td>\n",
+       "        <td>6</td>\n",
+       "        <td>14</td>\n",
+       "        <td>9</td>\n",
+       "        <td>34</td>\n",
+       "        <td>24</td>\n",
+       "        <td>5</td>\n",
+       "        <td>Soup - Beef Conomme, Dry</td>\n",
+       "        <td>Poland</td>\n",
+       "        <td>79272</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>529</td>\n",
+       "        <td>2015-08-12 02:58:16</td>\n",
+       "        <td>2015</td>\n",
+       "        <td>8</td>\n",
+       "        <td>12</td>\n",
+       "        <td>2</td>\n",
+       "        <td>58</td>\n",
+       "        <td>16</td>\n",
+       "        <td>4</td>\n",
+       "        <td>Tea - Earl Grey</td>\n",
+       "        <td>China</td>\n",
+       "        <td>-33632</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(868, '2013-06-26 13:50:36', 2013, 6, 26, 13, 50, 36, 4, 'Chickensplit Half', 'Pakistan', -39864),\n",
+       " (436, '2012-06-14 09:34:24', 2012, 6, 14, 9, 34, 24, 5, 'Soup - Beef Conomme, Dry', 'Poland', 79272),\n",
+       " (529, '2015-08-12 02:58:16', 2015, 8, 12, 2, 58, 16, 4, 'Tea - Earl Grey', 'China', -33632)]"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "SELECT *\n",
+    "  FROM sales_details\n",
+    " LIMIT 3;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>time_id</th>\n",
+       "        <th>time_datetime</th>\n",
+       "        <th>time_year</th>\n",
+       "        <th>time_month</th>\n",
+       "        <th>time_day</th>\n",
+       "        <th>time_hour</th>\n",
+       "        <th>time_minute</th>\n",
+       "        <th>time_second</th>\n",
+       "        <th>time_day_of_week</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>2017-10-11 19:52:57</td>\n",
+       "        <td>2017</td>\n",
+       "        <td>10</td>\n",
+       "        <td>11</td>\n",
+       "        <td>19</td>\n",
+       "        <td>52</td>\n",
+       "        <td>57</td>\n",
+       "        <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>2018-01-24 19:15:24</td>\n",
+       "        <td>2018</td>\n",
+       "        <td>1</td>\n",
+       "        <td>24</td>\n",
+       "        <td>19</td>\n",
+       "        <td>15</td>\n",
+       "        <td>24</td>\n",
+       "        <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>2017-12-06 19:45:58</td>\n",
+       "        <td>2017</td>\n",
+       "        <td>12</td>\n",
+       "        <td>6</td>\n",
+       "        <td>19</td>\n",
+       "        <td>45</td>\n",
+       "        <td>58</td>\n",
+       "        <td>4</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, '2017-10-11 19:52:57', 2017, 10, 11, 19, 52, 57, 4),\n",
+       " (2, '2018-01-24 19:15:24', 2018, 1, 24, 19, 15, 24, 4),\n",
+       " (3, '2017-12-06 19:45:58', 2017, 12, 6, 19, 45, 58, 4)]"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "SELECT *\n",
+    "  FROM time\n",
+    " LIMIT 3;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Identifying the Tables We Need"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>selected_table</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>sales_details</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[('sales_details',)]"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Selecting the identified table.\n",
+    "\n",
+    "SELECT 'sales_details' AS selected_table;\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>num_rows</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1000</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1000,)]"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "-- Counting the rows of the selected table.\n",
+    "\n",
+    "SELECT COUNT(*) AS num_rows\n",
+    "  FROM sales_details;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Filtering interesting rows\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>time_id</th>\n",
+       "        <th>time_datetime</th>\n",
+       "        <th>time_year</th>\n",
+       "        <th>time_month</th>\n",
+       "        <th>time_day</th>\n",
+       "        <th>time_hour</th>\n",
+       "        <th>time_minute</th>\n",
+       "        <th>time_second</th>\n",
+       "        <th>time_day_of_week</th>\n",
+       "        <th>product_name</th>\n",
+       "        <th>region_name</th>\n",
+       "        <th>transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>436</td>\n",
+       "        <td>2012-06-14 09:34:24</td>\n",
+       "        <td>2012</td>\n",
+       "        <td>6</td>\n",
+       "        <td>14</td>\n",
+       "        <td>9</td>\n",
+       "        <td>34</td>\n",
+       "        <td>24</td>\n",
+       "        <td>5</td>\n",
+       "        <td>Soup - Beef Conomme, Dry</td>\n",
+       "        <td>Poland</td>\n",
+       "        <td>79272</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>146</td>\n",
+       "        <td>2015-02-06 12:18:18</td>\n",
+       "        <td>2015</td>\n",
+       "        <td>2</td>\n",
+       "        <td>6</td>\n",
+       "        <td>12</td>\n",
+       "        <td>18</td>\n",
+       "        <td>18</td>\n",
+       "        <td>6</td>\n",
+       "        <td>Wine - Spumante Bambino White</td>\n",
+       "        <td>France</td>\n",
+       "        <td>87806</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>483</td>\n",
+       "        <td>2012-12-01 23:08:12</td>\n",
+       "        <td>2012</td>\n",
+       "        <td>12</td>\n",
+       "        <td>1</td>\n",
+       "        <td>23</td>\n",
+       "        <td>8</td>\n",
+       "        <td>12</td>\n",
+       "        <td>7</td>\n",
+       "        <td>Ketchup - Tomato</td>\n",
+       "        <td>Kazakhstan</td>\n",
+       "        <td>98243</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(436, '2012-06-14 09:34:24', 2012, 6, 14, 9, 34, 24, 5, 'Soup - Beef Conomme, Dry', 'Poland', 79272),\n",
+       " (146, '2015-02-06 12:18:18', 2015, 2, 6, 12, 18, 18, 6, 'Wine - Spumante Bambino White', 'France', 87806),\n",
+       " (483, '2012-12-01 23:08:12', 2012, 12, 1, 23, 8, 12, 7, 'Ketchup - Tomato', 'Kazakhstan', 98243)]"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Filtering the rows related to positive values from the `transaction_amount` column.\n",
+    "\n",
+    "SELECT *\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0 \n",
+    " LIMIT 3;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>num_positive_transactions</th>\n",
+       "        <th>num_rows</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>494</td>\n",
+       "        <td>494</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(494, 494)]"
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Counting the positive values from the `transaction_amount` column compared to the number of rows in the filtered table.\n",
+    "\n",
+    "SELECT COUNT(transaction_amount) AS num_positive_transactions, COUNT(*) AS num_rows\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "3. Since the `num_positive_transactions` and `num_rows` are the same, we can conclude that there is no missing values in the `transaction_amount` column."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Total Transaction Amount for Each Region\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>region_name</th>\n",
+       "        <th>total_transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Afghanistan</td>\n",
+       "        <td>131159</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Albania</td>\n",
+       "        <td>235171</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Argentina</td>\n",
+       "        <td>340583</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Armenia</td>\n",
+       "        <td>77199</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Australia</td>\n",
+       "        <td>187963</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Azerbaijan</td>\n",
+       "        <td>159200</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Bahamas</td>\n",
+       "        <td>148728</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Bangladesh</td>\n",
+       "        <td>154916</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Belarus</td>\n",
+       "        <td>25315</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Benin</td>\n",
+       "        <td>34352</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Bolivia</td>\n",
+       "        <td>10961</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Brazil</td>\n",
+       "        <td>488294</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Burkina Faso</td>\n",
+       "        <td>38329</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Cameroon</td>\n",
+       "        <td>44091</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Canada</td>\n",
+       "        <td>125266</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>3587812</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Colombia</td>\n",
+       "        <td>356547</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Croatia</td>\n",
+       "        <td>140920</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Cuba</td>\n",
+       "        <td>196686</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Cyprus</td>\n",
+       "        <td>577</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Czech Republic</td>\n",
+       "        <td>94021</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Denmark</td>\n",
+       "        <td>66339</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Dominican Republic</td>\n",
+       "        <td>126001</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Ecuador</td>\n",
+       "        <td>26411</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Egypt</td>\n",
+       "        <td>59730</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Estonia</td>\n",
+       "        <td>32547</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Ethiopia</td>\n",
+       "        <td>276368</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Finland</td>\n",
+       "        <td>196962</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>France</td>\n",
+       "        <td>871335</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Georgia</td>\n",
+       "        <td>90044</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Germany</td>\n",
+       "        <td>74158</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Greece</td>\n",
+       "        <td>346326</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Guatemala</td>\n",
+       "        <td>9567</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Guinea</td>\n",
+       "        <td>49896</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Guyana</td>\n",
+       "        <td>124443</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Honduras</td>\n",
+       "        <td>169520</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Hungary</td>\n",
+       "        <td>80988</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>2565442</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Iran</td>\n",
+       "        <td>353566</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Iraq</td>\n",
+       "        <td>96055</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Ireland</td>\n",
+       "        <td>89760</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Israel</td>\n",
+       "        <td>81269</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Ivory Coast</td>\n",
+       "        <td>142272</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Japan</td>\n",
+       "        <td>138545</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Kazakhstan</td>\n",
+       "        <td>121368</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Kyrgyzstan</td>\n",
+       "        <td>95798</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Laos</td>\n",
+       "        <td>119385</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Latvia</td>\n",
+       "        <td>74817</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Libya</td>\n",
+       "        <td>81214</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Luxembourg</td>\n",
+       "        <td>70793</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Macedonia</td>\n",
+       "        <td>46793</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Madagascar</td>\n",
+       "        <td>92723</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Malawi</td>\n",
+       "        <td>122046</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Mali</td>\n",
+       "        <td>85633</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Mauritius</td>\n",
+       "        <td>42660</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Mexico</td>\n",
+       "        <td>338072</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Mongolia</td>\n",
+       "        <td>6955</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Morocco</td>\n",
+       "        <td>97271</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Netherlands</td>\n",
+       "        <td>87392</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>New Caledonia</td>\n",
+       "        <td>31718</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Nicaragua</td>\n",
+       "        <td>54865</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Nigeria</td>\n",
+       "        <td>150886</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Norway</td>\n",
+       "        <td>214806</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Pakistan</td>\n",
+       "        <td>121607</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Palestinian Territory</td>\n",
+       "        <td>291565</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Peru</td>\n",
+       "        <td>190533</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Philippines</td>\n",
+       "        <td>1097122</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Poland</td>\n",
+       "        <td>1342022</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Portugal</td>\n",
+       "        <td>559054</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Russia</td>\n",
+       "        <td>1053683</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Saudi Arabia</td>\n",
+       "        <td>28475</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Serbia</td>\n",
+       "        <td>95519</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Sierra Leone</td>\n",
+       "        <td>41685</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Slovenia</td>\n",
+       "        <td>47833</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Somalia</td>\n",
+       "        <td>66332</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>South Korea</td>\n",
+       "        <td>229805</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Spain</td>\n",
+       "        <td>355871</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Sweden</td>\n",
+       "        <td>777801</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Switzerland</td>\n",
+       "        <td>131534</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Syria</td>\n",
+       "        <td>123207</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Tajikistan</td>\n",
+       "        <td>58541</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Tanzania</td>\n",
+       "        <td>245208</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Thailand</td>\n",
+       "        <td>413431</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Togo</td>\n",
+       "        <td>201465</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Turkmenistan</td>\n",
+       "        <td>47280</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Uganda</td>\n",
+       "        <td>190927</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Ukraine</td>\n",
+       "        <td>228561</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>United Kingdom</td>\n",
+       "        <td>74921</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>United States</td>\n",
+       "        <td>1005656</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Uzbekistan</td>\n",
+       "        <td>68969</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Venezuela</td>\n",
+       "        <td>112740</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Vietnam</td>\n",
+       "        <td>259546</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Yemen</td>\n",
+       "        <td>22777</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[('Afghanistan', 131159),\n",
+       " ('Albania', 235171),\n",
+       " ('Argentina', 340583),\n",
+       " ('Armenia', 77199),\n",
+       " ('Australia', 187963),\n",
+       " ('Azerbaijan', 159200),\n",
+       " ('Bahamas', 148728),\n",
+       " ('Bangladesh', 154916),\n",
+       " ('Belarus', 25315),\n",
+       " ('Benin', 34352),\n",
+       " ('Bolivia', 10961),\n",
+       " ('Brazil', 488294),\n",
+       " ('Burkina Faso', 38329),\n",
+       " ('Cameroon', 44091),\n",
+       " ('Canada', 125266),\n",
+       " ('China', 3587812),\n",
+       " ('Colombia', 356547),\n",
+       " ('Croatia', 140920),\n",
+       " ('Cuba', 196686),\n",
+       " ('Cyprus', 577),\n",
+       " ('Czech Republic', 94021),\n",
+       " ('Denmark', 66339),\n",
+       " ('Dominican Republic', 126001),\n",
+       " ('Ecuador', 26411),\n",
+       " ('Egypt', 59730),\n",
+       " ('Estonia', 32547),\n",
+       " ('Ethiopia', 276368),\n",
+       " ('Finland', 196962),\n",
+       " ('France', 871335),\n",
+       " ('Georgia', 90044),\n",
+       " ('Germany', 74158),\n",
+       " ('Greece', 346326),\n",
+       " ('Guatemala', 9567),\n",
+       " ('Guinea', 49896),\n",
+       " ('Guyana', 124443),\n",
+       " ('Honduras', 169520),\n",
+       " ('Hungary', 80988),\n",
+       " ('Indonesia', 2565442),\n",
+       " ('Iran', 353566),\n",
+       " ('Iraq', 96055),\n",
+       " ('Ireland', 89760),\n",
+       " ('Israel', 81269),\n",
+       " ('Ivory Coast', 142272),\n",
+       " ('Japan', 138545),\n",
+       " ('Kazakhstan', 121368),\n",
+       " ('Kyrgyzstan', 95798),\n",
+       " ('Laos', 119385),\n",
+       " ('Latvia', 74817),\n",
+       " ('Libya', 81214),\n",
+       " ('Luxembourg', 70793),\n",
+       " ('Macedonia', 46793),\n",
+       " ('Madagascar', 92723),\n",
+       " ('Malawi', 122046),\n",
+       " ('Mali', 85633),\n",
+       " ('Mauritius', 42660),\n",
+       " ('Mexico', 338072),\n",
+       " ('Mongolia', 6955),\n",
+       " ('Morocco', 97271),\n",
+       " ('Netherlands', 87392),\n",
+       " ('New Caledonia', 31718),\n",
+       " ('Nicaragua', 54865),\n",
+       " ('Nigeria', 150886),\n",
+       " ('Norway', 214806),\n",
+       " ('Pakistan', 121607),\n",
+       " ('Palestinian Territory', 291565),\n",
+       " ('Peru', 190533),\n",
+       " ('Philippines', 1097122),\n",
+       " ('Poland', 1342022),\n",
+       " ('Portugal', 559054),\n",
+       " ('Russia', 1053683),\n",
+       " ('Saudi Arabia', 28475),\n",
+       " ('Serbia', 95519),\n",
+       " ('Sierra Leone', 41685),\n",
+       " ('Slovenia', 47833),\n",
+       " ('Somalia', 66332),\n",
+       " ('South Korea', 229805),\n",
+       " ('Spain', 355871),\n",
+       " ('Sweden', 777801),\n",
+       " ('Switzerland', 131534),\n",
+       " ('Syria', 123207),\n",
+       " ('Tajikistan', 58541),\n",
+       " ('Tanzania', 245208),\n",
+       " ('Thailand', 413431),\n",
+       " ('Togo', 201465),\n",
+       " ('Turkmenistan', 47280),\n",
+       " ('Uganda', 190927),\n",
+       " ('Ukraine', 228561),\n",
+       " ('United Kingdom', 74921),\n",
+       " ('United States', 1005656),\n",
+       " ('Uzbekistan', 68969),\n",
+       " ('Venezuela', 112740),\n",
+       " ('Vietnam', 259546),\n",
+       " ('Yemen', 22777)]"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Computing the total positive transaction amount for each region using the `GROUP BY` clause.\n",
+    "\n",
+    "SELECT region_name, SUM(transaction_amount) AS total_transaction_amount\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0\n",
+    " GROUP BY region_name;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Top Three Regions\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>region_name</th>\n",
+       "        <th>total_transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>3587812</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>2565442</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Poland</td>\n",
+       "        <td>1342022</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[('China', 3587812), ('Indonesia', 2565442), ('Poland', 1342022)]"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "\n",
+    "-- Finding the top three regions in relation to the total positive transaction amount.\n",
+    "\n",
+    "SELECT region_name, SUM(transaction_amount) AS total_transaction_amount\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0\n",
+    " GROUP BY region_name\n",
+    " ORDER BY total_transaction_amount DESC\n",
+    " LIMIT 3;\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Share of Sales\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>region_name</th>\n",
+       "        <th>total_transaction_amount_props</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>14.909148950077872</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>10.660691502449314</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Poland</td>\n",
+       "        <td>5.576770993653348</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[('China', 14.909148950077872),\n",
+       " ('Indonesia', 10.660691502449314),\n",
+       " ('Poland', 5.576770993653348)]"
+      ]
+     },
+     "execution_count": 14,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Computes the share of sales of the top three regions in relation to the total positive transaction amount.\n",
+    "\n",
+    "SELECT region_name, SUM(transaction_amount) * 100.0 / 24064499 AS total_transaction_amount_props\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0\n",
+    " GROUP BY region_name\n",
+    " ORDER BY total_transaction_amount_props DESC\n",
+    " LIMIT 3;\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>top_3_share_market</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>31.15</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(31.15,)]"
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Summing the share of sales\n",
+    "SELECT ROUND(14.909148950077872, 2) + ROUND(10.660691502449314, 2) + ROUND(5.576770993653348, 2) AS top_3_share_market"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "3. The highest sales in our store come from Asian countries. Our customers are probably many in this part of the world."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Finding Frequently Bought Products\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>region_name</th>\n",
+       "        <th>product_name</th>\n",
+       "        <th>num_transactions</th>\n",
+       "        <th>avg_transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>Beef - Rib Eye Aaa</td>\n",
+       "        <td>3</td>\n",
+       "        <td>60284.333333333336</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>Coke - Diet, 355 Ml</td>\n",
+       "        <td>2</td>\n",
+       "        <td>46720.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>Cheese - La Sauvagine</td>\n",
+       "        <td>2</td>\n",
+       "        <td>54260.5</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>Fennel - Seeds</td>\n",
+       "        <td>2</td>\n",
+       "        <td>36930.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>Oneshot Automatic Soap System</td>\n",
+       "        <td>2</td>\n",
+       "        <td>58257.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>Sprouts - Baby Pea Tendrils</td>\n",
+       "        <td>2</td>\n",
+       "        <td>6054.5</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[('Indonesia', 'Beef - Rib Eye Aaa', 3, 60284.333333333336),\n",
+       " ('China', 'Coke - Diet, 355 Ml', 2, 46720.0),\n",
+       " ('Indonesia', 'Cheese - La Sauvagine', 2, 54260.5),\n",
+       " ('Indonesia', 'Fennel - Seeds', 2, 36930.0),\n",
+       " ('Indonesia', 'Oneshot Automatic Soap System', 2, 58257.0),\n",
+       " ('Indonesia', 'Sprouts - Baby Pea Tendrils', 2, 6054.5)]"
+      ]
+     },
+     "execution_count": 16,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "\n",
+    "-- Finding the frequently bought products in China, Indonesia, and Poland.\n",
+    "\n",
+    "SELECT region_name, product_name, COUNT(*) AS num_transactions, AVG(transaction_amount) AS avg_transaction_amount\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0 AND (region_name = 'China'  OR region_name = 'Indonesia'  OR region_name = 'Poland')\n",
+    " GROUP BY region_name, product_name\n",
+    "HAVING COUNT(*) > 1\n",
+    " ORDER BY num_transactions DESC, region_name, product_name;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "3. For example, in China, we always have to ensure to have the `Coke - Diet, 355 Ml` in stock and in Indonesia, `Beef - Rib Eye Aaa`. Notice that, Poland is not in the top 3 sales because some products are bought very frequently. Maybe the products there are just expensive."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "\n",
+    "# Finding Promotion Days\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " * sqlite://\n",
+      "Done.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>region_name</th>\n",
+       "        <th>time_day_of_week</th>\n",
+       "        <th>num_transactions</th>\n",
+       "        <th>total_transaction_amount</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>3</td>\n",
+       "        <td>14</td>\n",
+       "        <td>687399</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>4</td>\n",
+       "        <td>14</td>\n",
+       "        <td>578406</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>5</td>\n",
+       "        <td>13</td>\n",
+       "        <td>607495</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>China</td>\n",
+       "        <td>7</td>\n",
+       "        <td>14</td>\n",
+       "        <td>702672</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>Indonesia</td>\n",
+       "        <td>5</td>\n",
+       "        <td>13</td>\n",
+       "        <td>717903</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[('China', 3, 14, 687399),\n",
+       " ('China', 4, 14, 578406),\n",
+       " ('China', 5, 13, 607495),\n",
+       " ('China', 7, 14, 702672),\n",
+       " ('Indonesia', 5, 13, 717903)]"
+      ]
+     },
+     "execution_count": 17,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "\n",
+    "-- Finding the days of the week where the number of transactions is greater or equal to `10` in China, Indonesia, and Poland.\n",
+    "   \n",
+    "SELECT region_name, time_day_of_week, COUNT(*) AS num_transactions, SUM( transaction_amount) as total_transaction_amount\n",
+    "  FROM sales_details\n",
+    " WHERE transaction_amount >= 0 AND (region_name = 'China'  OR region_name = 'Indonesia'  OR region_name = 'Poland' )\n",
+    " GROUP BY  region_name, time_day_of_week\n",
+    "HAVING  COUNT(*) >= 10\n",
+    " ORDER BY region_name, time_day_of_week;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "2. In China most of the days are interesting while in Indonesia it is only on Friday. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.6"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}