Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Grupowanie SQL według miesiąca i roku

SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada 
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4))

Lub jak wspomniał @40-Love, możesz rzucać z wiodącymi zerami:

GROUP BY 
  CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyszukaj tekst w procedurze składowanej w SQL Server

  2. Użyj NEWID(), aby utworzyć unikalną wartość w SQL Server

  3. Błąd „datetime2” podczas korzystania z frameworka encji w VS 2010 .net 4.0

  4. SQL Server:SUM() wielu wierszy, w tym klauzule where

  5. Znajdź skojarzenia między kontami pocztowymi bazy danych a zasadami bazy danych w SQL Server (T-SQL)