Qual é a diferença entre COUNT(*) e COUNT(DISTINCT product_name)?
COUNT(*)
COUNT(DISTINCT product_name)
Elas sempre retornam o mesmo valor, porque DISTINCT não tem efeito dentro de COUNT.
COUNT(*) conta apenas as linhas em que todas as colunas são NULL.
COUNT(DISTINCT product_name) conta apenas os nomes repetidos e exclui os nomes que aparecem uma única vez.
COUNT(*) conta as linhas do resultado, enquanto COUNT(DISTINCT product_name) conta os diferentes nomes de produtos não duplicados.