sql server 2008中的月收入

时间:2014-06-20 02:37:32

标签: sql sql-server database sql-server-2008

我有一张名为visit的表,它有两列(访问日期)和(cost)这样的

visiting_date              cost 
20-6-2014                    50
20-6-2014                    50
21-7-2014                    200
21-7-2014                    200

我想制作能够将每月个人成本相加的观点,以便输出

month           income
6                 100
7                 400

谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

您需要使用GROUP BYDATEPART

OP要求将其与月份相加。您需要添加订单以使列表更易于理解。此外,如果没有简单的定义升序或降序,DBMS将呈现升序。

SELECT SUM(cost) as income,
DATEPART(Month, visiting_date) as month
FROM table1
GROUP BY DATEPART(Month, visiting_date)
ORDER BY DATEPART(Month, visiting_date)

如果想要按(年,月)将其分开,那么他或她可以使用下面的示例。在其中,我选择按年份,然后按月订购:

SELECT SUM(cost) as income,
DATEPART(Month, visiting_date) as month, 
DATEPART(Year, visiting_date) as year
FROM table1
GROUP BY DATEPART(Year,  visiting_date), DATEPART(Month, visiting_date)
ORDER BY DATEPART(Year,  visiting_date), DATEPART(Month, visiting_date)