1
集計関数を使用してGROUP BYを使用してテーブルを集計しています(複数の外部キー、値列、およびタイムスタンプ列を丸めて丸めてグループ化) 。GROUP BYの集計値の代わりに最初の値を取得
しかし、集計値ではなく、グループ化の最初の行を取得する必要がある列があります。私はFIRST_VALUE()を見てきましたが、ウィンドウ関数であり集計関数ではありません。
私はこれを行うために探していた擬似コードで[FIRST()関数が存在しません]:
SELECT
ForeignKey1
,ForeignKey2
,MIN(StartTime) AS StartTime
,Foo
,AVG(Bar) AS Bar
,FIRST(Baz) AS Baz
FROM
Qux
GROUP BY
ForeignKey1
,ForeignKey2
,Foo
,CONVERT(DATE, StartTime)
をどのように私の代わりに集計値の最初の値を得るのですか?
*最初に*を定義します。あなたは*発注することができる*基準*を私たちに与えていません。注文がなければ、最初はありません。 –
"グループの最初の行"を実際に何を意味するのか(RDBMSには注文の概念がないので)?最小値(MIN)、最大値(MAX)、またはこれが別の列(例:行番号、またはCLUSTERED INDEXに基づいていますか? –
@Damien_The_Unbeliever by 'first'、私は、各グループの行の早いStartTimeと一致するBazの値を意味します。 – mtmacdonald