2014-01-28 4 views
0

У меня есть таблица, заполненная 6122 строками. Я нашел все дубликаты и отобразил их. Это то, что я получил:SQL - Как рассчитать общее количество выбранных данных?

description grossSale vat  netSale 
produce 0055 268  50.11  217.89 
product 0055 268  50.11  217.89 
product 0009 339  63.39  275.61 
product 0065 829  155.29 673.98 

Теперь я хочу, чтобы таблица отображения общей сложности grossSale, чан и netSale. Если я использую sum (grossSale) grossSale, он дает мне сумму всего значения 6122, но мне нужно только 4, которые отображаются. Таким образом, таблица будет выглядеть так:

description grossSale vat  netSale 
produce 0055 268  50.11  217.89 
product 0055 268  50.11  217.89 
product 0009 339  63.39  275.61 
product 0065 829  155.29 673.98 
       1704  318.9  1385.37 

У кого-нибудь есть идеи? Любая помощь очень ценится! Благодаря!

ответ

1

Используйте дублирует запрос у вас уже есть как виртуальная таблица:

SELECT SUM (grossSale) grossSale, SUM(vat) vat, SUM(netSale) netSale FROM 
    (SQL to show duplicates) 
0

Вам нужно написать заявление, что SELECT будет выбрать из результатов. Просто обернуть текущий select заявление с другим SELECT, что будет делать SUM и GROUP BY ваш Description

SELECT Description 
    ,SUM(grossSale) 
    ,SUM(Vat) 
    ,SUM(netSale) 
FROM (SELECT Description 
      ,grossSale 
      ,Vat 
      ,netSale 
     FROM MyTable 
     WHERE MyColumn = 'SomeValue') a 
GROUP BY Description 
0

Вы можете сделать это с group by with rollup. Вы должны сделать group by первый:

select description, sum(grossSale), sum(vat), sum(netSale) 
from table t 
group by description, grossSale, vat, netSale with rollup; 

Это может показаться странным иметь те же столбцы в sum() как в group by. Это связано с тем, что у ваших строк нет уникального идентификатора. Требуется sum(), так что rollup знает, какие столбцы суммировать.

+0

Это отображает суммы для всей таблицы. Только сумма дубликатов - это то, что требуется. –

+0

@ DanielB. , , В результате этого примера возникают как исходные данные, так и сводки. –

Смежные вопросы