Sql 有没有办法同时拥有一个独立的子句和SUM子句?

Sql 有没有办法同时拥有一个独立的子句和SUM子句?,sql,sql-server,tsql,count,distinct,Sql,Sql Server,Tsql,Count,Distinct,我的数据库中有这个表,它存储了工具应用程序发出的请求的数据 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

我的数据库中有这个表,它存储了工具应用程序发出的请求的数据

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     |

我认为以下内容符合您的要求:

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

您似乎在寻找聚合:

select folio, id_tool, count(*) quantity, sum(cost) cost
from mytable
where folio = 56
group by folio, id_tool

代码和数据的图像真的没有帮助。请花点时间以格式化的
文本提供这两种结果。请显示所需结果。获得累积结果的一个好方法是使用。以文本格式编辑数据,并按建议添加所需结果