Gruppieren von Daten nach MONAT in der Spalte DATETIME in SQL Server

7

Ich habe eine Tabelle Employeemit den Spalten ID, Beitrittsdatum und Name

Das Beitrittsdatum ist eine DATETIMESpalte.

Ich möchte wissen, wie viele Benutzer im Monat Oktober beigetreten sind.

Mohan Seth
quelle

Antworten:

7

Wenn Sie nur nach Oktober suchen, unabhängig vom Jahr , dann ist der einfache Weg, nur COUNTdie Aufzeichnungen aus diesem Monat:

SELECT COUNT(*) AS NumberOfJoiners FROM Employee WHERE MONTH(DateOfJoining) = 10;

oder

SELECT COUNT(*) AS NumberOfJoiners FROM Employee WHERE DATEPART(MONTH, DateOfJoining) = 10;

Wenn Sie nach Jahr gruppieren möchten, benötigen Sie eine Klausel nach Gruppierung, da sonst Oktober 2013, 2014, 2015 usw. nur in einer Zeile zusammengefasst werden:

SELECT 
  DATEPART(YEAR, DateOfJoining) AS YearOf Joining, 
  COUNT(*) AS NumberOfJoiners 
FROM Employee
WHERE DATEPART(MONTH, DateOfJoining) = 10
GROUP BY DATEPART(YEAR, DateOfJoining);
Mark Sinkinson
quelle
Angesichts des Datums der Anfrage würde ich sagen, dass es eine dritte und wahrscheinlichste Möglichkeit gibt: Wir suchen die Anzahl der Benutzer, die im Oktober 2014 beigetreten sind .
AakashM