用SQL按两个字段分组查询
目前存在这样一张表:monthnomoney200311002003140020032200200411002004350020051100200523002005340...
目前存在这样一张表:
month no money
2003 1 100
2003 1 400
2003 2 200
2004 1 100
2004 3 500
2005 1 100
2005 2 300
2005 3 400
2005 3 100
我需要查询的结果是这样的:
2003 1 500
2 200
3 0
2004 1 100
2 0
3 500
2005 1 100
2 300
3 500
也就是查询每年3个no对应的money的和,想了好久也弄不出来,谁可以告诉我如何写SQL语句,感激不尽!
我把需要的结果完善一下
2003 1 500
2003 2 200
2003 3 0
2004 1 100
2004 2 0
2004 3 500
2005 1 100
2005 2 300
2005 3 500
如果可以,最好排这样,这是我最终要的结果,高手请看(斜杠是我用来帮助区分开数据的,当不存在就行):
m-n /1 /2 /3
2003 /500 /200 /0
2004 /100 /0 /500
2005 /100 /300 /500 展开
month no money
2003 1 100
2003 1 400
2003 2 200
2004 1 100
2004 3 500
2005 1 100
2005 2 300
2005 3 400
2005 3 100
我需要查询的结果是这样的:
2003 1 500
2 200
3 0
2004 1 100
2 0
3 500
2005 1 100
2 300
3 500
也就是查询每年3个no对应的money的和,想了好久也弄不出来,谁可以告诉我如何写SQL语句,感激不尽!
我把需要的结果完善一下
2003 1 500
2003 2 200
2003 3 0
2004 1 100
2004 2 0
2004 3 500
2005 1 100
2005 2 300
2005 3 500
如果可以,最好排这样,这是我最终要的结果,高手请看(斜杠是我用来帮助区分开数据的,当不存在就行):
m-n /1 /2 /3
2003 /500 /200 /0
2004 /100 /0 /500
2005 /100 /300 /500 展开
8个回答
展开全部
select A.[month],B.[No],IsNull(Sum(A.[money]),0) from biao A righter outer join (select 1 as [No] union all select 2 union all select 3) B on A.[no]=B.[No] group by A.[month],B.[No]
要实现最后的那个结果,必须使用存储过程了
要实现最后的那个结果,必须使用存储过程了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select month,no,sum(money)
from table
group by month,no
order by month
from table
group by month,no
order by month
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from zhidao7 order by month asc,no asc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询