получить суммы сумм из sql - PullRequest
0 голосов
/ 06 марта 2011

В чем проблема со следующим запросом:

SELECT wbCode||yr, CAST(coalesce(Cons,0) AS FLOAT), wbCode
FROM Commodities
Where CCode in (2611,2513,2961) Group by wbCode||yr

Я хочу, чтобы приведенный выше запрос возвращал суммы для каждого wbCode за данный год (USA1990), например;но код выше не суммирует;он извлекает те же данные, что и:

SELECT wbCode||yr, CAST(coalesce(Cons,0) AS FLOAT), wbCode 
FROM Commodities
Where CCode in (2611) Group by wbCode||yr

SELECT wbCode||yr, CAST(coalesce(Cons,0) AS FLOAT), wbCode 
FROM Commodities Where CCode in (2513,2961)
Group by wbCode||yr

Как мне получить сумму?

Большое спасибо за вашу помощь.

Ответы [ 3 ]

3 голосов
/ 06 марта 2011

Почему ||?Просто сгруппируйте их по отдельности

SELECT wbCode, yr, SUM(CAST(coalesce(Cons,0) AS FLOAT)), wbCode
FROM Commodities
Where CCode in (2611,2513,2961)
Group by wbCode, yr

Или

SELECT wbCode||yr, SUM(CAST(coalesce(Cons,0) AS FLOAT)), wbCode
FROM Commodities
Where CCode in (2611,2513,2961)
Group by wbCode, yr
1 голос
/ 06 марта 2011

Почему вы не используете функцию SUM для агрегирования результатов?

0 голосов
/ 06 марта 2011

Как насчет этого:

  SELECT wbCode
  ,      yr
  ,      SUM(CAST(coalesce(Cons,0) AS FLOAT))
    FROM Commodities
   WHERE CCode in (2611,2513,2961) 
GROUP BY wbCode
,        yr;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...