Étant donné le tableau suivant, comment calcule-t-on le mode horaire, ou la valeur avec la fréquence la plus élevée par heure?Calculer la distribution en mode (ou fréquence) d'une valeur dans le temps dans SQL Server
CREATE TABLE Values
(
ValueID int NOT NULL,
Value int NOT NULL,
LogTime datetime NOT NULL
)
Jusqu'à présent, j'ai trouvé la requête suivante.
SELECT count(*) AS Frequency,
DatePart(yy, LogTime) as [Year],
DatePart(mm, LogTime) as [Month],
DatePart(dd, LogTime) as [Day],
DatePart(hh, LogTime) as [Hour]
FROM Values
GROUP BY
Value,
DatePart(yy, LogTime),
DatePart(mm, LogTime),
DatePart(dd, LogTime),
DatePart(hh, LogTime)
Cependant, ceci donne la fréquence de chaque valeur distincte par heure. Comment puis-je ajouter une contrainte pour renvoyer uniquement la valeur avec la fréquence maximale par heure?
Merci