Abrufen eines Durchschnitts aus Unterabfragewerten oder einer anderen Aggregatfunktion in SQL Server
Habe ich die SQL-Anweisung (SQL Server )
SELECT
COUNT(ActionName) AS pageCount
FROM tbl_22_Benchmark
WHERE DATEPART(dw,CreationDate)>1 AND DATEPART(dw,CreationDate)<7
GROUP BY
dateadd(dd,0, datediff(dd,0,CreationDate))
erzeugt die Ausgabe
pageCount
27
19
59
Nun würde ich gerne den Durchschnitt aller dieser zahlen mit SQL. Offenbar geschachtelte Aggregatfunktionen wie
(AVG(COUNT(pageCount)))
sind nicht erlaubt , und mit einer Unterabfrage wie
SELECT AVG(pageCount) FROM
(
SELECT
COUNT(ActionName) AS pageCount
FROM tbl_22_Benchmark
WHERE DATEPART(dw,CreationDate)>1 AND DATEPART(dw,CreationDate)<7
GROUP BY
dateadd(dd,0, datediff(dd,0,CreationDate))
)
wird mir nur eine Fehlermeldung Falsche syntax in der Nähe von ')'.
Wie bekomme ich den Durchschnitt der pageCount-Zeilen?
InformationsquelleAutor der Frage simon | 2009-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann ich nicht sehen, Ihre gesamte Abfrage, wie es scheint nicht gebucht zu haben, richtig.
Aber ich glaube, dein problem ist rein ein fehlender name für die abgeleitete Tabelle /geschachtelte Unterabfrage.
Geben Sie einen alias ein, wie MyTable in diesem Beispiel
InformationsquelleAutor der Antwort Robin Day
in Ihrem zweiten Versuch, Ihnen fehlt ein ) und ein alias:
InformationsquelleAutor der Antwort Mladen Prajdic
Fügen Sie eine Unterabfrage den alias
InformationsquelleAutor der Antwort Charles Bretana
Ihre Unterabfrage sollte ein alias, wie in diesem
InformationsquelleAutor der Antwort eKek0
Zunächst sollte man hinzufügen Zustand auf das Ende der Abfrage. Zum Beispiel:
2. Sie nicht in der Nähe der Klammer am Ende.
3. Sie haben den Namen Ihrer inneren Abfrage.
Sollte diese Arbeit
InformationsquelleAutor der Antwort Lukasz Lysik