Как подвести итог, когда они имеют одинаковый цвет с sql? - PullRequest
0 голосов
/ 16 января 2019

У меня есть эта таблица

enter image description here

я хочу проигнорировать productNo и подсчитать все количество товаров соответственно.

select sum(count), max(productNo) 
from Table 
where date between 117 and 118 
group by product

этот дает неверный результат ...

Я хочу получить сумму подсчетов для каждой комбинации Product-ProductNo

Ответы [ 4 ]

0 голосов
/ 17 января 2019
select sum(count), max(productNo) 
from Table 
where date between 117 and 118 
group by product, productNo 

с этим все работает :)

0 голосов
/ 16 января 2019

кажется, вам нужен порядок первых строк по результату

select product,productno,sum(count) as result
from table
group by product,productno
order by result 
limit 1 
0 голосов
/ 16 января 2019

Поскольку вы не пометили ни одной СУБД , я бы использовал row_number():

select t.*
from (select product, productno, sum(count) as cnt,
             row_number() over (partition by product order by sum(count) desc) as seq
      from table t
      group by product, productno
     ) t
where seq = 1;

Вы также можете использовать предложение LIMIT (но не для каждого продукта):

select product, productno, sum(count) as cnt
from table t
group by product, productno
order by cnt desc
limit 1; 

Для некоторых других СУБД требуется предложение TOP вместо предложения LIMIT, поэтому вы можете изменить его соответствующим образом, но идея будет такой же.

0 голосов
/ 16 января 2019

попробуйте как ниже

 select product,productno,sum(count) as result
 from table_name
 where productno='X1'
 group by product,productno
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...