Skip to content

How to Query Recent CDC Tables in MotherDuck ​

May 2026

In MotherDuck, recent CDC queries stay clear when current rows and recent deletes are treated as two related but different questions.

Short Answer ​

To query recent CDC tables in MotherDuck, read the final-state target table for current rows and filter by a real business timestamp such as updated_at, loaded_at, or another source-derived time column. The destination table is the right read surface because that is where newer-versus-older mutations have already been resolved.

If recent deletes matter, query the companion tombstone table in addition to the target table. The _skippr_order_token column helps MotherDuck decide which mutation should win, but it is not the clearest column for business recency filters or reporting windows.

Why Teams Struggle with This ​

Teams often pick MotherDuck because they want the warehouse stack to stay approachable. That is a good fit, but the query pattern still benefits from clear separation: current-state reads come from the main table, delete visibility comes from tombstones, and recent windows come from actual timestamps.

  • Do not ask the order token to behave like updated_at.
  • Do query the reconciled target table for the latest surviving row state.
  • Do use tombstones when delete recency is part of the business question.
  • Do keep recent-window logic grounded in real time columns from the source or pipeline.

How Skippr Handles It ​

Skippr keeps that pattern easy to follow because MotherDuck CDC produces a readable final-state table plus a companion tombstone table automatically. Small teams do not need a second layer of repair SQL just to answer "what is current" versus "what was deleted recently."

A concrete example: for the last seven days of recently updated accounts, filter the accounts target table on updated_at >= current_timestamp - INTERVAL 7 DAY. If you also need accounts deleted in that period, read the tombstone companion instead of assuming deleted rows can be reconstructed from the target alone.

  • The target table is the source of truth for current rows.
  • The tombstone table is the source of truth for recent delete events.
  • The order token remains an ordering primitive rather than a reporting field.
  • MotherDuck keeps the query surface compact without removing CDC discipline.

What the First Useful Version Looks Like ​

The MotherDuck version of recent CDC querying is pleasantly boring when the roles are separated clearly.

That is usually what small teams want from the warehouse in the first place.