CASE

Label busy vs quiet.

Label rows busy vs quiet.

Goal

Add a busy/quiet column.

DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  city TEXT,
  units INTEGER,
  shillings INTEGER
);
INSERT INTO sales VALUES
  ('Nairobi', 12, 480),
  ('Mombasa', 8, 320),
  ('Kisumu', 5, 200);

SELECT city, units,
  CASE WHEN units >= 10 THEN 'busy' ELSE 'quiet' END AS pace
FROM sales;
DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  city TEXT,
  units INTEGER,
  shillings INTEGER
);
INSERT INTO sales VALUES
  ('Nairobi', 12, 480),
  ('Mombasa', 8, 320),
  ('Kisumu', 5, 200);

SELECT city,
  CASE city
    WHEN 'Nairobi' THEN 'capital'
    WHEN 'Mombasa' THEN 'coast'
    ELSE 'other'
  END AS kind
FROM sales;
DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  city TEXT,
  units INTEGER,
  shillings INTEGER
);
INSERT INTO sales VALUES
  ('Nairobi', 12, 480),
  ('Mombasa', 8, 320),
  ('Kisumu', 5, 200);

SELECT SUM(CASE WHEN units >= 8 THEN 1 ELSE 0 END) AS busy_rows
FROM sales;
DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  city TEXT,
  units INTEGER,
  shillings INTEGER
);
INSERT INTO sales VALUES
  ('Nairobi', 12, 480),
  ('Mombasa', 8, 320),
  ('Kisumu', 5, 200);

SELECT city, shillings,
  CASE WHEN shillings >= 400 THEN 'high' ELSE 'ok' END AS till
FROM sales;