SQL, Выбирающий несколько сумм?

Разобрался. Я использовал loggerKey {} в качестве ключа, тогда как фактический ключ - log.loggerKey {}. Мне пришлось импортировать журнал, и тогда это сработало.

9
задан Joel Coehoorn 4 May 2009 в 20:08
поделиться

5 ответов

SELECT  SUM(CASE WHEN order_date >= '01/01/09' THEN quantity ELSE 0 END) AS items_sold_since_date,
        SUM(quantity) AS items_sold_total,
        product_ID
FROM    Sales
GROUP BY product_ID
25
ответ дан 4 December 2019 в 08:34
поделиться

примерно так?:

SELECT  SUM(quantity) AS items_sold_since_date,
        total_items_sold = (SELECT SUM(quantity) from Sales GROUP BY product_ID),
        product_ID
FROM    Sales
WHERE order_date >= '01/01/09'
GROUP BY product_ID
0
ответ дан 4 December 2019 в 08:34
поделиться

Если вы хотите увидеть общий объем продаж, вы должны использовать sum (sale_amt) и в группе добавить sale_amt. Надеюсь, это поможет.

0
ответ дан 4 December 2019 в 08:34
поделиться

вы можете написать

SELECT  SUM(quantity) AS items_sold_since_date,(SELECT  SUM(quantity) AS items_sold_since_date FROM    Sales
GROUP BY product_ID) as items_sold,
        product_ID
FROM    Sales
WHERE order_date >= '01/01/09'
GROUP BY product_ID
0
ответ дан 4 December 2019 в 08:34
поделиться

Вы можете использовать GROUP BY для разделения продаж на основе даты. В Oracle вы могли бы сказать:

select count(*)
      ,case when order_date >= '01/01/09' then 'after' else 'before' end
from   log 
group by case when order_date >= '01/01/09' then 'after' else 'before' end;
0
ответ дан 4 December 2019 в 08:34
поделиться