3

私は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
4

4 に答える 4

10

通常、複数のフィールドを選択し、そのうちの 1 つだけに基づいて何かを集計したい場合は、派生テーブルで集計を実行し、次のように選択したいテーブルに結合します。

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
于 2012-07-20T19:07:13.103 に答える
3

groupbyに含めたくない列で集計関数を使用する必要があります。普段使っています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
于 2012-07-20T18:58:59.913 に答える
1

私はあなたが何を探しているのか本当に理解できませんが、そこに捨てた方がいいかもしれません....

select distinct fieldA, ....
from table_name
于 2012-07-20T20:27:13.743 に答える