SQL Server: Jak mogę użyć klauzuli COUNT bez grupowania?

Szukam dwóch rzeczy z zapytania, biorąc pod uwagę zestaw ograniczeń:

Pierwszy meczŁączna liczba meczów

Pierwszy mecz mogę uzyskać:

<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>

A potem mogę uzyskać liczbę meczów, jeśli użyję

<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>

Naprawdę chcę uniknąć grupowania i używania funkcji agregującej we wszystkich moich wynikach. To pytanieSQL Server Wybierz COUNT bez używania funkcji agregującej lub grupy według sugeruje, że odpowiedź byłaby

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

Działa to bez TOP 1, ale gdy jest tam, @@ ROWCOUNT = liczba zwróconych wierszy, która wynosi 1. Jak mogę uzyskać zasadniczo wynik COUNT (*) (cokolwiek pozostało po klauzuli where) bez żadnego grupowania lub musisz zebrać wszystkie kolumny?

Nie chcę powtarzać każdego z nich dwa razy, raz dla pierwszego wiersza, a następnie ponownie dla @@ ROWCOUNT. Nie znajduję sposobu, w jaki mogę poprawnie używać GROUP BY, ponieważ ściśle zależy mi na liczbie elementów, które pasują do moich kryteriów, i chcę kolumn, które, jeśli je pogrupuję, wyrzucą tę liczbę - chyba że nie zrozumiem GROUP BY.

questionAnswers(3)

yourAnswerToTheQuestion