2016-04-13 7 views
0

Dies funktioniert:Get Gesamtwert von innerer Abfrage

SELECT TOP 100 ExecutionTime 
FROM [Brokermate_CONFIG].[dbo].[QueryLog] 
ORDER BY ExecutedOn DESC 

Doch der Versuch, den Durchschnitt zu bekommen ist mir einen Fehler

SELECT AVG(executiontime) 
FROM 
    (SELECT TOP 100 ExecutionTime 
    FROM [Brokermate_CONFIG].[dbo].[QueryLog] 
    ORDER BY ExecutedOn DESC 
    ) 

Fehler:

Incorrect syntax near ')'.

Was die korrekte Syntax ist ?

Dank

Antwort

3

hinzufügen verpasst Alias ​​Unterabfrage:

SELECT AVG(sub.executiontime) AS average_execution_time 
FROM (SELECT TOP 100 ExecutionTime 
     FROM [Brokermate_CONFIG].[dbo].[QueryLog] 
     ORDER BY ExecutedOn DESC) AS sub 
4

Sie haben alias Namen für Sub-Abfrage

Versuchen Below

SELECT AVG(executiontime) 
FROM 
(SELECT TOP 100 ExecutionTime 
    FROM [Brokermate_CONFIG].[dbo].[QueryLog] 
    ORDER BY ExecutedOn DESC 
) A -- You need to have alias name here