我的头正在吸(愚蠢)尝试使用JOIN
,WITH
和GROUP BY
为我的相当常见的情况提出了一个解决方案 - 我只是无法环绕它。让我在你扔的例子马上:SQL每月加入和每月总计百分比
我有两个表(ColorCount和Colorname):
ColorCount:
ColorID Count Date
1 42 2010-09-07
1 1 2010-09-08
2 22 2010-09-14
1 20 2010-10-10
3 4 2010-10-14
ColorName:
ColorID Name
1 Purple
2 Green
3 Yellow
4 Red
现在,我要的是加入ColorName表到ColorCount表格,将每月的所有颜色计数加起来,并计算每月总计的每个计数的百分比。表是胜于言:
Output:
Month Color Count Percentage
09 Purple 43 66%
09 Green 22 33%
09 Yellow 0 0%
09 Red 0 0%
10 Purple 20 83%
10 Green 0 0%
10 Yellow 4 16%
10 Red 0 0%
(请注意,每月的总数09
是65
,因此66%
为Purple
,也是0
的为不存在的颜色):
我希望有人梦想在SQL,这是一件容易的事......
分区的使用。太好了! – 2010-11-16 16:01:22
是的,很好。必须得到一本关于MSSQL 2008的好书 – AlexanderMP 2010-11-16 16:20:43
关于SimpleTalk的开窗技术的很好的讨论,请访问http://www.simple-talk.com/sql/learn-sql-server/working-with-window-functions-in-sql-服务器/?utm_source = simpletalk&utm_medium =电子邮件的主&=的utm_content WindowsFunction-20101101&utm_campaign = SQL – 2010-11-16 18:42:43