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.

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);

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.