tuladha-api / sql /deduplicate_courses.sql
Fahmi Syahputra
Initial commit for Backend
49bd31a
Raw
History Blame Contribute Delete
1.12 kB
-- ============================================================
-- Supabase SQL: Remove Duplicate Courses
-- ============================================================
-- Logic:
-- 1. Group courses by EXACT title
-- 2. Within each group, KEEP the row with the oldest created_at
-- 3. DELETE all other duplicates
--
-- Run this in Supabase SQL Editor.
-- ============================================================
-- STEP 1: Preview duplicates (DRY RUN — won't delete anything)
-- Uncomment and run this first to see what will be removed:
-- SELECT id, title, created_at
-- FROM courses
-- WHERE id NOT IN (
-- SELECT DISTINCT ON (title) id
-- FROM courses
-- ORDER BY title, created_at ASC
-- )
-- ORDER BY title, created_at;
-- STEP 2: Delete duplicates (KEEP oldest record per title)
DELETE FROM courses
WHERE id NOT IN (
SELECT DISTINCT ON (title) id
FROM courses
ORDER BY title, created_at ASC
);
-- STEP 3: Verify — should return exactly 26 unique courses
SELECT count(*) AS total_courses FROM courses;
SELECT id, title, created_at FROM courses ORDER BY created_at ASC;