Чем отличаются COUNT(*) и COUNT(DISTINCT product_name)?
COUNT(*)
COUNT(DISTINCT product_name)
COUNT(*) считает только строки, в которых каждый столбец имеет значение NULL.
COUNT(DISTINCT product_name) считает только повторяющиеся названия и исключает названия, встречающиеся один раз.
Они всегда возвращают одно и то же значение, потому что DISTINCT не влияет на COUNT.
COUNT(*) считает строки результата, а COUNT(DISTINCT product_name) — различные названия продуктов без повторов.