Как подсчитать 2 разных данных в одном запросе

Мне нужно вычислить сумму появления некоторых данных в двух столбцах в один запрос. БД находится в SQL Server 2005.

Например, у меня есть эта таблица: 1. Количество лиц, имеющих имя «Джон»
2. Подсчет «Джона» с возрастом более 30 лет.

Я могу сделать это с помощью подзапросов следующим образом (это только пример):

SELECT (SELECT COUNT(Id) FROM Persons WHERE Name = 'John'), 
  (SELECT COUNT (Id) FROM Persons WHERE Name = 'John' AND age > 30) 
FROM Persons

Но это очень медленно, и я ищу более быстрый метод .

Я нашел это решение для MySQL (оно почти решает мою проблему, но не для SQL Server).

Знаете ли вы лучший способ подсчитать несколько значений в одном запросе, чем использование подзапросов?

6
задан Community 23 May 2017 в 11:47
поделиться