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ówPierwszy 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.