sql查询获取记录每年12个独特的月份记录,每年都设置不同的卷号

时间:2013-10-02 05:35:53

标签: sql

我想获得每年不同月份的12条记录,如果数据栏目有2013年的1个值,那么查询应该返回2013年不同月份(如果存在),这应该对于不同的卷123具有相同意义年份2013,2014,2015 < / p>

select distinct month(date_publication) as pmonth,p.volume,p.* from tbl_Papers p
where adminStatus='PUBLISHED'

例如:如果是2013年,那么体积列值为('1')

1 个答案:

答案 0 :(得分:1)

做一个PIVOT ..例如......

SELECT *
FROM (
SELECT top 1
YEAR(date_publication) as [YEAR]
,LEFT(DATENAME(MONTH, date_publication), 3) AS MONTH
,volume
,COUNT(1) AS Amount
FROM  tbl_Papers (nolock)
WHERE adminStatus='PUBLISHED'
) as s
PIVOT
(
    sum(Amount)
    FOR [month] IN (JAN, FEB, MAR, APR, 
    MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC)
)
as PVT

这将在2012年,2013年等展示。