0

我有下表ComponentsB:

CID Name    PPP ProcessingCharge    LName   Typ
1   RadXL   10  5   EisenAG Rad
2   RadXL   15  0   LederGmbH   Rad
3   RadL    10  2   LederGmbH   Rad
4   RadXL   2   1   RadAG   Rad
5   RadXL   4   10  sdfkj   Rad
6   SchraubeM   1   2   EisenAG Schraube
7   ZangeS  3   11  EisenAG Zange
8   ZangeM  12  12  sdfkj   Zange

我想为每个“名称”获取具有相应 LName 的最低“ProcessingCharge”

select Name, min(ProcessingCharge)
from ComponentsB
group by Name

工作得很好,但我无法获得相应的 LName 因为我得到它不是聚合函数的一部分的错误。

4

1 回答 1

0

不要将此查询视为聚合查询。将其视为过滤查询。您想要每个Name具有最低费用的行:

select c.*
from ComponentsB c
where c.ProcessingCharge = (select min(c2.ProcessingCharge)
                            from ComponentsB c2
                            where c2.Name = c.Name
                           );
于 2019-06-17T15:43:26.793 回答