Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL групиране по месец и година

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

Или както спомена @40-Love, можете да хвърляте с водещи нули:

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. SQL Server:максималният брой редове в таблицата

  2. Време за изчакване на връзката за SQL сървър

  3. sql сървър изберете първия ред от група

  4. Как да включите резултати, които се равняват на последното място, когато използвате клаузата TOP в SQL Server

  5. Актуализиране на таблица с помощта на JOIN в SQL Server?