Trans. ID        QTY      TOOL   Date
    1            20        A2    2015
    2            20        A2    2016
    3            20        A2    2016
    4            20        A3    2015
    5            20        A3    2016
    6            20        A3    2016
    7            20        C     2016
    8            20        C     2016
    9            20        C     2016
    10           20        C     2016

Вернуться - интересует только 2016 год

Tool     Total
A2         40
A3         40

Меня не интересуют отдельные IDS. Просто больше интересующих сумм. Пожалуйста, обратите внимание, я также заинтересован в захвате данных с помощью инструментов, начинающихся с буквы A, поскольку в реальной таблице есть множество инструментов.

Мне трудно понять, как поставить оператор WHERE и другие вещи. Я читал в другой ветке, чтобы использовать различия.

select Tool, sum(QTY)
from 
  (select distinct Tool, ID, QTY from "table")
where Tool like 'A%'
AND Date like '2016%'
group by PROCESS_EQP_ID
0
Ray Chen 26 Фев 2016 в 20:01
Что такое ID, что такое PROCESS_EQP_ID, почему у вас вообще есть вложенный выбор?
 – 
Mat
26 Фев 2016 в 20:11

1 ответ

Лучший ответ

Если вы сделаете различное в своем подзапросе, вы выберете одну из строк с идентификаторами 2 и 3. Однако, исходя из ожидаемого результата, вы хотите, чтобы обе были суммированы.

Кроме того, какой тип данных представляет собой столбец даты? Если это DATE или TIMESTAMP, я думаю, это то, что вам нужно:

select tool, sum(qty)
from   "table"
where  tool like 'A%'
and    to_char(dt, 'yyyy') = '2016' -- note that I've renamed the date column as `date` is a reserved word in Oracle.
group by tool;
0
Boneist 26 Фев 2016 в 20:36