2012-05-05 41 views
0

我真的无法弄清楚这个问题的好头衔,但是我有一个问题,我相信你可以帮助我!在SQL和SUM中比较

我有一个查询,输出是这样的:在价格上

Month | Year | Subcategory | PrivateLabel | Price 
------------------------------------------------- 
    1 | 2010 | 666   | No   | -520 
    1 | 2010 | 666   | No   | -499,75 
    1 | 2010 | 666   | No   | -59,95 
    1 | 2010 | 666   | No   | -49,73 
    1 | 2010 | 666   | No   | -32,95 

我想SUM,因为所有其他的数据是一样的。我以为我可以用SUMGROUP BY这样做,但我无法弄清楚如何去做,或者至少它不会输出正确的结果。

查询是两个表之间的内部联接,如果有帮助的话。

+1

啊,它看起来很乱..它应该像一张桌子! –

+0

我编辑它的格式更好..编辑必须批准,但我所做的是每行的开始4个空格 – gordatron

+2

请发布您的查询和所需的输出。这非常有帮助。 –

回答

3
select 
    month 
    ,year 
    ,subcategory 
    ,privatelabel 
    ,sum(price) as [total sales] 
from 
    a inner join b ... 
where 
    any where clauses 
group by 
    month 
    ,year 
    ,subcategory 
    ,privatelabel 

如果我正确认识你..在选择每一个科拉姆或者需要是通过对所有行中的一员或聚合函数组

加入了小提琴的应该工作..主要是因为我不知道他的文本DDL功能,想测试它;-)(感谢迈克尔·布埃诺)

http://sqlfiddle.com/#!3/35c1c/1

注意where子句是一个占位符..

0
select month, year, subcategory, privatelabel, sum(price) 
    from (put your query in here) dummyName 
group by month, year, subcategory, privatelabel 

基本思想是它会运行你当前的查询来获得上面的输出,然后对结果进行求和和分组。 您的查询必须在括号内,您必须提供一些名称,例如dummyName。只要它在sql中是独一无二的,最好不是关键词,无关紧要。

可能有一种方法可以一气呵成,但如果没有sql查询,我们无法提供帮助。