did*_*ido 2 sql sql-server group-by sql-server-2008
我有一个SQL视图.示例如下.问题是我想使用所有字段但我不想按每个字段分组.我怎么能绕过那个?我只需要在fieldA上进行分组,但不需要对其他人进行分组...实际上与其他人分组会混淆我想要查看的数据.我正在使用SQL Server 2008.谢谢!
select
fieldA,
fieldB,
fieldC,
fieldD,
....
from my_table as a join other_table b on a.id=b.id
group by fieldA, fieldB, fieldC, fieldD
Run Code Online (Sandbox Code Playgroud)
通常,当我想选择几个字段,并根据其中一个字段聚合某些内容时,我将在派生表中执行聚合并加入到我想要选择的表中,如下所示:
select fieldA, thingYouWantToAggregate, fieldB, fieldC, fieldD
from my_table
inner join
(
select fieldA, thingYouWantToAggregate
from my_table
group by fieldA
) rsAggregated on rsAggregated.fieldA = my_table.fieldA
Run Code Online (Sandbox Code Playgroud)
您需要对不想包含在分组依据中的列使用聚合函数。我通常使用min
select
fieldA,
min(fieldB),
min(fieldC),
min(fieldD),
....
from my_table as a join other_table b on a.id=b.id
group by fieldA
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11010 次 |
| 最近记录: |