SELECT COUNT(*)
считает все строки.
SELECT COUNT(column_name)
считает только значения, которые не NULL
в этом конкретном столбце.
Так что в вашем случаеваш первый счет должен быть COUNT(a column from your joined table)
, а ваш второй счет должен быть COUNT(*)
.
В особых случаях вы также можете использовать логические выражения.Например,
SELECT SUM(my_column = 'foo')
подсчитывает только те значения, для которых значение в my_column равно foo
, поскольку логическое выражение возвращает 1, если оно истинно, и 0, в противном случае.