Есть ли способ иметь отдельное предложение и предложение SUM одновременно? - PullRequest
0 голосов
/ 27 января 2020

У меня есть эта таблица в моей базе данных, в которой хранятся данные запросов, сделанных приложением инструмента.

select * from details

IdDetail | Folio | IdTool | Cost |
1        |53     |917     |137   |
2        |53     |918     |145   |
3        |53     |919     |15    |
4        |54     |917     |137   |
5        |54     |917     |137   |
6        |54     |916     |56    |

В нем хранится информация запроса (Фолио), инструментов (IdHerramienta и Gasto). [Стоимость]). Моя цель состоит в том, чтобы получить утверждение для получения данных о деталях, показывая только отдельные значения IdHerramienta (IdTool) на строку, сколько из них с одним и тем же фолио, а также сумму стоимости в случае повторения IdTool (если инструмент появляется несколько раз с одним и тем же фолио, добавляйте его стоимость за каждый раз, когда он повторяется)

Пока что я могу только показать, сколько раз инструмент повторяется, но я тоже хочу получить стоимость, любые идеи о том, как его получить?

select distinct IdTool, count(IdTool) as Quantity 
from details where Folio = 54 group by IdTool

| IdTool | Quantity |
|917     |2         |
|916     |1         |

Результаты, которые я хочу получить

Folio | IdTool | Quantity | Cost  |
54    |917     |2         |274    |
54    |916     |1         |56     |

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Вы, похоже, ищете агрегат:

select folio, id_tool, count(*) quantity, sum(cost) cost
from mytable
where folio = 56
group by folio, id_tool
0 голосов
/ 27 января 2020

Я думаю, что следующее делает то, что вы хотите:

select idherramienta, count(*), avg(gasto)
from t
where folio = 56
group by idherramienta
...