2016-10-26 2 views
2

私はこのような2つの列SQLでMonthYearで合計を取得するには?

MonthYear   Total 

Sep 2016    40.73 
Aug 2016   598.00 
Jul 2016   167.36 

を取得しようとしている。しかし、私が先頭に最も最近の年と月を取得したい。この

id   Date    Amount 

    1 2016-09-29 09:25:37.000 25.13 
    2 2016-08-01 17:20:39.000 598.00 
    3 2016-09-29 09:24:47.000 15.60 
    4 2016-07-28 17:50:11.000 61.80  
    5 2016-07-28 17:53:56.000 31.40 
    6 2016-07-22 10:40:27.000 74.16 

のようなテーブルを持っています

+2

これは、声明による/順序でグループと通常の合計です。 – ZLK

+0

金額/数値を合計し、金額/数値以外の他のデータをグループ化し、選択に応じてそれを表示するように注文します。 – GNMercado

答えて

3

は、このSQLを試してみてください、

SELECT CONVERT(CHAR(4), Date, 100) + CONVERT(CHAR(4), Date, 120) 
     AS MonthYear, SUM(Amount) 
     AS Total, 
      CAST(CONVERT(varchar(4), Date, 120) AS int) 
     AS Year, DATEPART(m, Date) As Month 
    FROM your_table 
GROUP BY CONVERT(CHAR(4), Date, 100) + CONVERT(CHAR(4), Date,120),CAST(CONVERT(varchar(4), Date, 120) AS int), DATEPART(m, Date) 
ORDER BY Year DESC, Month DESC 
0

SELECT Datename(MONTH, [Date]) month_name, 
     Year([Date]) year, 
     Sum([Amount]), 
     Month([date]) month_no 
FROM #Table1 
GROUP BY Datename(MONTH, [Date]), 
      Year([Date]), 
      Month([date]) 
ORDER BY Month([date]) DESC, 
      Year([Date]), 
      Datename(MONTH, [Date]) 
0

の下だけで、他の視点を試してみてください。

クエリ

SELECT t.[MonthYear], SUM(t.[Amount]) AS [Total] FROM(
    SELECT RIGHT((CONVERT(VARCHAR(11), [Date], 106)), 8) as [MonthYear], [Amount] 
    FROM [your_table_name] 
)t 
GROUP BY t.[MonthYear]; 
関連する問題