次の方法で共有


集計関数 - min

適用対象:SQL Server

値が他のすべての項目より小さい 1 つの項目であるアトミック値のシーケンス ( $arg) からを返します。

構文

  
fn:min($arg as xdt:anyAtomicType*) as xdt:anyAtomicType?  

引数

$arg
最小値を返す項目のシーケンス。

解説

min() に渡されるアトミック化された値のすべての型は、同じ基本型のサブタイプである必要があります。 受け入れられる基本型は、 gt 操作をサポートする型です。 これらの型には、3 つの組み込みの数値基本型 (日付/時刻基本型、xs:string、xs:boolean、xdt:untypedAtomic) が含まれます。 xdt:untypedAtomic 型の値は xs:double にキャストされます。 これらの型が混在している場合、または他の型の他の値が渡された場合は、静的エラーが発生します。

min() の結果は、xdt:untypedAtomic の場合は xs:double など、渡された型の基本型を受け取ります。 入力が静的に空の場合は、empty が暗黙的に指定され、静的エラーが返されます。

min() 関数は、入力シーケンス内の他の値よりも小さいシーケンス内の 1 つの値を返します。 xs:string 値の場合、既定の Unicode Codepoint 照合順序が使用されています。 xdt:untypedAtomic 値を xs:double にキャストできない場合、入力シーケンスでは値は無視 $arg。 入力が動的に計算された空のシーケンスである場合は、空のシーケンスが返されます。

このトピックでは、AdventureWorks データベースのさまざまな xml 型列に格納されている XML インスタンスに対する XQuery の例を示します。

A. min() XQuery 関数を使用した、労働時間が最も短いワーク センター拠点の検索

次のクエリでは、作業時間が最も少ない製品モデル (ProductModelID=7) の製造プロセス内のすべてのワーク センターの場所を取得します。 通常、次に示すように 1 つの拠点が返されます。 複数の場所に最低労働時間数が等しい場合は、すべて返されます。

select ProductModelID, Name, Instructions.query('  
  declare namespace AWMI=  
    "https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";  
  for   $Location in /AWMI:root/AWMI:Location  
  where $Location/@LaborHours =  
          min( /AWMI:root/AWMI:Location/@LaborHours )  
return  
  <Location WCID=     "{ $Location/@LocationID }"   
              LaborHrs= "{ $Location/@LaborHours }" />  
  ') as Result   
FROM  Production.ProductModel  
WHERE ProductModelID=7  

上のクエリに関して、次の点に注意してください。

  • XQuery プロローグの namespace キーワードは、名前空間プレフィックスを定義します。 このプレフィックスは、XQuery の本文で使用されます。

XQuery 本体は、WCID 属性と LaborHrs 属性を<持つ Location> 要素を持つ XML を構築します。

  • クエリでは、ProductModelID と名前の値も取得されます。

結果を次に示します。

ProductModelID   Name              Result  
---------------  ----------------  ---------------------------------  
7                HL Touring Frame  <Location WCID="45" LaborHrs="0.5"/>   

実装の制限事項

制限事項は次のとおりです。

  • min() 関数は、すべての整数を xs:decimal にマップします。

  • xs:duration 型の値に対する min() 関数はサポートされていません。

  • 基本データ型の境界を超えて複数の型が混在するシーケンスはサポートされません。

  • 照合順序を提供する構文オプションはサポートされていません。

参照

xml データ型に対する XQuery 関数