Skip to content
Generated SQL · drill

A query an agent wrote

An agent produced SELECT * FROM events WHERE lower(email) = '[email protected]' ORDER BY id. It returns the right rows. Write the query that returns the same id, actor_id and happened_on — and lets the database use the index it already has.

Tables in this database · Events
CREATE TABLE events (
  id INTEGER PRIMARY KEY,
  actor_id INTEGER NOT NULL,
  kind TEXT NOT NULL,
  email TEXT NOT NULL,
  happened_on DATE NOT NULL,
  duration_ms INTEGER
)
CREATE INDEX events_actor_idx ON events (actor_id);
CREATE INDEX events_kind_happened_idx ON events (kind, happened_on);
CREATE INDEX events_email_idx ON events (email);

Your query

⌘⏎