Gruplama (Bucketing)

SQL ile İş Verilerini Analiz Etme

Michel Semaan

Data Scientist

Histogramlar - özet

WITH user_orders AS (
  SELECT
    user_id,
    COUNT(DISTINCT order_id) AS orders
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
  GROUP BY user_id)

SELECT
  orders,
  COUNT(DISTINCT user_id) AS users
FROM user_orders
GROUP BY orders
ORDER BY orders ASC
LIMIT 5;
SQL ile İş Verilerini Analiz Etme

CASE ifadesi

Sorgu

SELECT
  CASE
    WHEN meal_price < 4 THEN 'Düşük fiyatlı yemek'
    WHEN meal_price < 6 THEN 'Orta fiyatlı yemek'
    ELSE 'Yüksek fiyatlı yemek'
  END AS price_category,
  COUNT(DISTINCT meal_id)
FROM meals
GROUP BY price_category;
SQL ile İş Verilerini Analiz Etme

Gruplama - sorgu

WITH user_revenues AS (
  SELECT
    user_id,
    SUM(meal_price * order_quantity) AS revenue
  FROM meals
  JOIN orders ON meals.meal_id = orders.meal_id
  GROUP BY user_id)

SELECT CASE WHEN revenue < 150 THEN 'Düşük gelirli kullanıcılar' WHEN revenue < 300 THEN 'Orta gelirli kullanıcılar' ELSE 'Yüksek gelirli kullanıcılar' END AS revenue_group, COUNT(DISTINCT user_id) AS users FROM user_revenues GROUP BY revenue_group;
SQL ile İş Verilerini Analiz Etme

Gruplama - sonuç

revenue_group       users
------------------  -----
Düşük gelirli kullanıcılar   473
Orta gelirli kullanıcılar    606
Yüksek gelirli kullanıcılar  225
SQL ile İş Verilerini Analiz Etme

Histogramlar ve çubuk grafikler

Kullanıcı başına sipariş histogramı

Gelir grubuna göre kullanıcılar sütun grafiği

SQL ile İş Verilerini Analiz Etme

Gruplama (Bucketing)

SQL ile İş Verilerini Analiz Etme

Preparing Video For Download...