Fondamentalmente hai 2 posti per duplicare le righe se il tuo ASP è corretto:
1) SQL è sbagliato (probabilmente devi usare l'operatore DISTINCT)
2) Il codice C# è sbagliato (probabilmente devi controllare l'origine dati)
Controlla il tuo SQL pls. E condividi con noi il tuo codice C#.
Usa questo
SELECT distinct category_name, thread_category_id, threadCount
FROM
( SELECT categories.category_name, threads.thread_category_id, COUNT(*)
AS 'threadCount' FROM threads
INNER JOIN categories ON categories.category_id = threads.thread_category_id
GROUP BY categories.category_name, threads.thread_category_id ) A