0

我想获得每年不同月份的 12 条记录,如果 volume 列在 2013 年有 1 个值,那么查询应该返回 2013 年不同月份(如果存在),这对于不同的 volume123 应该有相同的意思是 year2013,2014,2015

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

例如:如果年份是 2013 年,那么卷列中的值为 ('1')

4

1 回答 1

1

做一个枢轴..例如..

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 年等时显示出来。

于 2013-10-02T05:45:22.050 回答