SELECT
-- Subtract minute, second, millisecond part of date, effectively rounding to floor of the hour
-- For example '2017-03-17T14:31:25.567' becomes '2017-03-17T14:00:00.000'
DATEADD(
mi, -1 * (DATEPART(mi, tab.logindt) % 60),
DATEADD(
ss, -1 * (DATEPART(ss, tab.logindt)),
DATEADD(
ms, -1 * (DATEPART(ms, tab.logindt)),
tab.logindt
))) AS "Date",
COUNT(*) AS "Count"
FROM TableName tab
WHERE
tab.logindt BETWEEN 'Dec 1 2009 12:00 AM' AND 'Dec 2 2009 23:59 PM'
GROUP BY
DATEADD(
mi, -1 * (DATEPART(mi, tab.logindt) % 60),
DATEADD(
ss, -1 * (DATEPART(ss, tab.logindt)),
DATEADD(
ms, -1 * (DATEPART(ms, tab.logindt)),
tab.logindt
)))
Nous avons une application dans laquelle un certain nombre de personnes de connexion, le problème est que je veux faire une requête par laquelle je peux compter le nombre de personnes connecté à le système à un moment donné dit 10 heures/11/12/14.Besoin d'aide pour résoudre la requête (en utilisant datepart)
Ci-dessus la requête a été faite en utilisant datepart, à travers lequel je peux vérifier le nombre de personnes signées à 10 heures OU se déconnecter. Par exemple, la requête ci-dessus renvoie 10 personnes à 10 heures, mais elle ne montre pas les personnes qui utilisent actuellement le système.
S'IL VOUS PLAÎT NE PAS SHOUT: P – Cocowalla