Hallo,
ich habe ein kleines Problem und weiß nicht genau, wie ich das ohne große Umstände lösen kann.
In einer Tabelle werden nach Produktion Artikelnummer und Herstellungzeit eingetragen.
Für die Planung soll die durchschnittliche Produktionszeit je Artikelnummer berechnet werden. So weit so gut:
Jetzt habe ich zwei Schwierigkeiten:
1. für die Ermittlung des Durchschnitts sollen nur Werte größer 0 beachtet werden (aktuell werden doch Werte betrachtet, deren Durchschnitt über null ist?!)
2. Es sollen nur die letzten 5 Einträge (höchste ID) je Artikelnummer betrachtet werden. Muss ich da mit IN ( SELECT MAX(id) arbeiten?
Vielen Dank für die Hilfe.
Alex
ich habe ein kleines Problem und weiß nicht genau, wie ich das ohne große Umstände lösen kann.
In einer Tabelle werden nach Produktion Artikelnummer und Herstellungzeit eingetragen.
Für die Planung soll die durchschnittliche Produktionszeit je Artikelnummer berechnet werden. So weit so gut:
SQL:
SELECT TOP (100) PERCENT Artikelnummer, AVG(DISTINCT min_pro_Stueck) AS [min pro Stueck]
FROM dbo.Buchungen
GROUP BY Artikelnummer
HAVING (AVG(DISTINCT min_pro_Stueck) > 0)
Jetzt habe ich zwei Schwierigkeiten:
1. für die Ermittlung des Durchschnitts sollen nur Werte größer 0 beachtet werden (aktuell werden doch Werte betrachtet, deren Durchschnitt über null ist?!)
2. Es sollen nur die letzten 5 Einträge (höchste ID) je Artikelnummer betrachtet werden. Muss ich da mit IN ( SELECT MAX(id) arbeiten?
Vielen Dank für die Hilfe.
Alex