- How do I find duplicate rows in my data without writing SQL?
- Ask in plain English — 'which customers appear more than once by email?' nlqdb compiles the canonical `GROUP BY email HAVING COUNT(*) > 1`, runs it in Postgres, and returns the repeated rows plus the SQL it ran. You see which values duplicate and how many times, without hand-writing the query or filing a data ticket. The honest limit: it reports duplicates; it doesn't delete or merge them.
- What SQL does nlqdb use to find duplicates?
- The standard pattern: `GROUP BY` the columns you're checking and `HAVING COUNT(*) > 1` to keep only the groups that repeat. nlqdb writes and runs that query for you and shows it under a trace toggle, so you can confirm it grouped by the right columns. If you need the full duplicate rows (not just the duplicated keys), ask for the rows and it wraps that in a window-function or self-join.
- Can I dedupe a Postgres database I already run?
- Yes — connect it with the signed-in BYO connect verb (`nlq db connect`, `SK-DBCONN-001`; see /solve/query-existing-postgres-in-natural-language) and ask the duplicate question in place, no ETL into a separate store. The honest limits: BYO connect is signed-in only (not the public embed), and nlqdb reports the duplicates with a read-only query — deleting or merging them is a write you run deliberately.
- Why not just ask ChatGPT to find the duplicates in my data?
- A chat model can write you a `GROUP BY ... HAVING` query, but it can't run it against your data — and if you paste rows in and ask it to count, it hallucinates the tally. nlqdb runs the actual SQL in Postgres and returns real rows plus the query it ran, so the duplicate count is computed, not guessed.