У меня есть простой запрос в этой форме:
SELECT DISTINCT a, b, c
FROM MyTable
WHERE a = SomeConditionsEtc
и т.д...
Но мне нужно знать, сколько строк он вернет. Изначально я делал так:
SELECT COUNT(DISTINCT a)
FROM MyTable
WHERE a = SomeConditionsEtc
Но это ненадежно, если a
содержит дубликаты, а другой - нет. Итак, теперь я использую вложенный запрос:
SELECT COUNT(*)
FROM (SELECT DISTINCT a, b, c
FROM MyTable
WHERE a = SomeConditionsEtc) AS Temp
Это правильный подход или есть лучший способ?