1

SQL Server データベース接続を持つ常温核融合でアプリケーションを構築しています。グループ レコードが必要で、グループ内の最初のレコードのみを返します。次のクエリをcoldfusionで書きました。

SELECT FIRST(ID)
FROM table
GROUP BY NAME

次のエラーが返されます。

[Macromedia][SQLServer JDBC ドライバー][SQLServer]'first' は認識される組み込み関数名ではありません。

Coldfusion クエリで最初の関数を使用する方法はありますか?

これを達成する別の方法はありますか?

*データベースに直接アクセスすることはできません。常温核融合データ接続へのアクセスのみ

4

2 に答える 2

6

FIRSTSQL Serverでは無効です(Accessについて考えている必要があります)。多分あなたは意味しました:

SELECT NAME, MIN(ID)
FROM dbo.table
GROUP BY NAME;

SQL Serverの「Denali」では、ウィンドウ関数と組み合わせてFIRST_VALUE/を使用できるようになります。LAST_VALUE

于 2011-09-12T19:20:35.803 に答える
0

最初と最後はSQLServer2005または2008には存在しませんが、SQL Server 2012にはFirstValue、LastValue関数があります。Sql Server 2005の集計の最初と最後を実装しようとしましたが、SQLServerが定義された順序で集計の計算を保証するという障害に直面しました。(実装されていない属性SqlUserDefinedAggregateAttribute.IsInvariantToOrderプロパティを参照してください。)これは、クエリアナライザが複数のスレッドで集計の計算を実行し、結果を結合しようとするためである可能性があります。これにより、実行が高速化されますが、どの要素が集約されるか。

于 2011-12-02T10:00:09.913 に答える