View Single Post

   
  #4 (permalink)  
Old 04-17-2008, 05:09 PM
ThanksButNo
 
Posts: n/a
Default Re: Summing up a total for a Year

On Apr 16, 12:09 pm, Barlymasher <theo...@gmail.com> wrote:
> On Apr 16, 3:01 pm, Barlymasher <theo...@gmail.com> wrote:
>
>
>
> > Hi,

>
> > Seem to be getting stuck, I think there is an easy way to do what I
> > want, I have just not found it yet.
> > I have data for 10 years, I am looking to get a SUM of a field for a
> > particular year.

>
> > For example:

>
> > SELECT SUM(ounces) as ounces
> > FROM beverages

>
> > give me back one result, the total ounces for all 10 years.

>
> > If I do this:

>
> > SELECT date, SUM(ounces) as ounces
> > FROM beverages
> > WHERE YEAR(date) = 1998
> > GROUP BY date
> > ORDER BY date DESC

>
> > I get back multiple rows for the year 1998, when I really only want
> > the one value that is the total SUM for all ounces during the year
> > 1998.

>
> > beverages has 4 fields, location, date, ounces and type.

>
> > thanks for any help!

>
> > O

>
> Also, I have tried
>
> SELECT SUM(ounces) as ounces
> FROM beverages
> WHERE YEAR(date) = 1998
> GROUP BY ounces
>
> O


Just to clarify the "group by" clause -- you can not "sum" and "group
by" on the same column. It doesn't make any sense.

What you can do is "group by" something else. Such as, e.g:

SELECT sum(ounces) FROM beverages
WHERE [other filters]
GROUP BY type

Which might result something like:

type sum(ounces)
Coke 8383
Sprite 1004
OJ 92883

etc. Meaning that, of all the beverages, Coke summed up to 8,383
ounces. Etc.

Actually, if you really only want a single "sum" result for a single
year, you ought to be able to do this:

SELECT SUM(ounces) FROM beverages
WHERE YEAR(date) = 1998

As you describe the problem, "group by" shouldn't be necessary at all.
Reply With Quote