Compare Two Parquet Files with DuckDB: Added, Deleted, and Changed Rows
Find added, deleted, and changed records across two Parquet exports.
DuckDB · Parquet
Runs in your browser
Start tutorialThe Query.Farm workshop
Find a hidden change. Untangle a messy match. Follow a slow query. Short DuckDB tutorials with data you can explore and SQL you can run.
Find your next experimentData included · Runs in your browser · Under 10 min read
Same row count. Same data?
Ada and Ben changed. Cy left; Eli joined.
Find them with SQL23 tutorials
Find added, deleted, and changed records across two Parquet exports.
DuckDB · Parquet
Runs in your browser
Start tutorialBuild a customer matching queue that flags ties, weak matches, and missing candidates.
DuckDB · RapidFuzz
Runs in your browser
Start tutorialFind where an aggregate runs and use that boundary to investigate a slow query.
DuckDB · PostgreSQL · ADBC
Runs in your browser
Start tutorialFlatten an order document without losing the orders whose item arrays are empty.
DuckDB · JSON
Runs in your browser
Start tutorialRecognize row multiplication and produce a total that counts each order once.
DuckDB
Runs in your browser
Start tutorialChoose one deterministic latest record per key, then filter its current state.
DuckDB
Runs in your browser
Start tutorialProduce clean invoice values and a review table that accounts for every input record.
DuckDB · CSV
Runs in your browser
Start tutorialCheck a JSON contract and separate valid incoming records from records that need review.
DuckDB · JSON · JSON Schema
Runs in your browser
Start tutorialCombine daily visitor summaries into a period estimate while understanding overlap and approximation.
DuckDB · DataSketches
Runs in your browser
Start tutorialMatch each event to the nearest earlier state for the same key, including events with no prior state.
DuckDB
Runs in your browser
Start tutorialRead row-group statistics and explain which groups a date filter could rule out.
DuckDB · Parquet
Runs in your browser
Start tutorialTrace a query from its scan through aggregation to ordering, and distinguish estimates from measured rows.
DuckDB
Runs in your browser
Start tutorialFind unexpected row growth in a measured plan and verify a corrected query on the same data.
DuckDB
Runs in your browser
Start tutorialAssign sessions with an explicit inactivity rule, then measure observed duration and engagement.
DuckDB
Runs in your browser
Start tutorialCount sessions that viewed, ran an example, and enquired in order within a declared conversion window.
DuckDB
Runs in your browser
Start tutorialChoose a calendar-aware moving average and make the missing-data assumption explicit.
DuckDB
Runs in your browser
Start tutorialRead files with an added optional column while preserving provenance and diagnosing incompatible values.
DuckDB · CSV · Parquet
Runs in your browser
Start tutorialConvert month columns to long-form rows and rebuild a report without confusing unknown values with zeros.
DuckDB · CSV
Runs in your browser
Start tutorialMeasure weekly return activity by signup cohort while preserving unknown future periods.
DuckDB
Runs in your browser
Start tutorialCalculate overall latency percentiles from observations or mergeable distributions instead of averaging percentile values.
DuckDB · DataSketches
Runs in your browser
Start tutorialConstruct a new JSON contract with renamed fields, calculated totals, and consistent array shapes.
DuckDB · JSON · JSONata
Runs in your browser
Start tutorialMap stable user IDs to repeatable buckets and distinguish a rollout threshold from a hash contract.
DuckDB · Hashfuncs
Runs in your browser
Start tutorialAudit unmatched records with existence semantics and explain how NULL changes a NOT IN predicate.
DuckDB
Runs in your browser
Start tutorialTry a broader search or remove a filter.