mssql sqlserver sqlserver 按年月對數據進行分組寫法分享


轉自:http://www.maomao365.com/?p=6841

摘要:
下文講述三種sql腳本的寫法,實現按年月對數據進行分類
實驗環境:sql server 2008



實現思路:
方法1 :使用dateName獲取年份和月份
方法2 :使用datepart獲取年份和月份
方法3 :使用year month分別獲取年份和月份  

create table test(qty int,info varchar(30),
writeDate datetime)
go
insert into test(qty,writeDate) values
(1,'2017-2-1'),(10,'2017-3-1'),(21,'2017-6-1'),(12,'2017-8-1'),
(31,'2018-1-1'),(41,'2018-2-1'),(51,'2018-2-1'),(61,'2018-2-1')


---方法1:使用datename 
SELECT datename(YEAR,writeDate)+'-'+datename(MONTH,writeDate) as newInfo,
sum(qty) as qtyAll
FROM test group by datename(YEAR,writeDate),datename(MONTH,writeDate)


---方法2:使用datepart
SELECT CONVERT(varchar(5),datepart(YEAR,writeDate))+'-'+RIGHT('0'+convert(varchar(5),datepart(MONTH,writeDate)),2) as newinfo,
sum(qty) as qtyAll
FROM test group by datepart(YEAR,writeDate),datepart(MONTH,writeDate)


---方法3:使用year month函數
SELECT CONVERT(varchar(5),YEAR(writeDate))+'-'+convert(varchar(5),MONTH(writeDate)) as newinfo,
sum(qty) as qtyAll
FROM test group by datepart(YEAR,writeDate),datepart(MONTH,writeDate)
go
truncate table test 
drop table test  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM