0
select
    Round(Sum(Totalamount) / Sum(totalweight), 2) as AVGRATE
    , DATENAME(MONTH, LIFTINGDATE) as [Month]
from k_LiftingEntryRecords 
where liftingdate BETWEEN '2013-04-01 00:00.000' AND '2013-07-30 00:00:00.000'
group by DATENAME(MONTH,LIFTINGDATE)
order by DATENAME(MONTH,LIFTINGDATE)

5月、6月、7月、4月です。4月、5月が必要です.....

4

3 に答える 3

1

試す-:

SELECT DATENAME(MONTH, LIFTINGDATE) as [Month]
FROM (
    SELECT '2005-01-03 00:00:00.000' AS LIFTINGDATE
    UNION ALL SELECT '2005-07-06 00:00:00.000'
    UNION ALL SELECT '2005-03-03 00:00:00.000'
    UNION ALL SELECT '2005-06-05 00:00:00.000'
    UNION ALL SELECT '2005-04-02 00:00:00.000'
    UNION ALL SELECT '2005-05-04 00:00:00.000'
    UNION ALL SELECT '2005-02-16 00:00:00.000'
) AS X
GROUP BY DATENAME(MONTH, LIFTINGDATE), MONTH(LIFTINGDATE)
ORDER BY [Month]
于 2013-07-10T05:47:52.680 に答える
1

選択リストに別の MONTH(LIFTINGDATE) 列を追加し、リストでグループ化します

SELECT  
 Round(Sum(Totalamount)/Sum(totalweight),2)as AVGRATE
,DATENAME(MONTH,LIFTINGDATE) 
,MONTH(LIFTINGDATE)
as [Month] from k_LiftingEntryRecords 
where (liftingdate BETWEEN '2013-04-01 00:00.000' AND '2013-07-30 00:00:00.000')
group by DATENAME(MONTH,LIFTINGDATE),MONTH(LIFTINGDATE)
order by MONTH(LIFTINGDATE)

同じ列リストが必要な場合

SELECT AVGRATE,Month_Name FROM
(
    SELECT  
     Round(Sum(Totalamount)/Sum(totalweight),2)as AVGRATE
    ,DATENAME(MONTH,LIFTINGDATE) AS Month_Name 
    ,MONTH(LIFTINGDATE) MonthNum
    as [Month] from k_LiftingEntryRecords 
    where (liftingdate BETWEEN '2013-04-01 00:00.000' AND '2013-07-30 00:00:00.000')
    group by DATENAME(MONTH,LIFTINGDATE),MONTH(LIFTINGDATE)
) T
ORDER BY MonthNum
于 2013-07-10T05:53:12.330 に答える
-1

以下を試してください..

select  Round(Sum(Totalamount)/Sum(totalweight),2)as AVGRATE
,DATENAME(MONTH,LIFTINGDATE) as [Month] 
from k_LiftingEntryRecords 
where (liftingdate BETWEEN '2013-04-01 00:00.000' AND '2013-07-30 00:00:00.000')
group by DATENAME(MONTH,LIFTINGDATE) 
order by Month 
于 2013-07-10T05:56:16.437 に答える