SQL Server: как я могу использовать предложение COUNT без группировки?

Я ищу две вещи из запроса, учитывая ряд ограничений:

The first match The total number of matches

Я могу получить первый матч по:

<code>SELECT TOP 1
    ID,
    ReportYear,
    Name,
    SignDate,
     ... 
FROM Table
WHERE
     ...
ORDER BY ... //I can put in here which one I want to take
</code>

И тогда я могу получить количество совпадений, если я использую

<code>SELECT
    MIN(ID),
    MIN(ReportYear),
    MIN(Name),
    MIN(SignDate),
     ... ,
    COUNT(*) as MatchCount
FROM Table
WHERE
     ...
GROUP BY
     ??? // I don't really want any grouping
</code>

Я действительно хочу избежать как группировки, так и использования агрегатной функции для всех моих результатов. Этот вопросSQL Server Выберите COUNT без использования агрегатной функции или группировки по предполагает, что ответ будет

<code>SELECT TOP 1
    ID,
    ReportYear,
    Name,
    SignDate,
     ... ,
    @@ROWCOUNT as MatchCount
FROM Table
</code>

Это работает без TOP 1, но когда оно там, @@ ROWCOUNT = количество возвращаемых строк, которое равно 1. Как я могу получить, по существу, вывод COUNT (*) (независимо от того, что осталось после предложения where) без какой-либо группировки или нужно объединить все столбцы?

То, что я не хочу делать, это повторять каждый из них дважды, один раз для первого ряда, а затем снова для @@ ROWCOUNT. Я не нахожу способ, которым я могу должным образом использовать GROUP BY, потому что я строго хочу количество элементов, которые соответствуют моим критериям, и я хочу столбцы, которые, если я их сгруппировал, скинут это число - если только я не неправильно понял GROUP BY.

Ответы на вопрос(3)

Ваш ответ на вопрос