8

特定の列の最大値を持つ SharePoint リスト項目を選択したいと考えています。CAML クエリを使用してこれを行うにはどうすればよいですか?

4

5 に答える 5

12

次の CAML クエリは、特定の列の最大値を返します。

var maxValue;

try
{
    using (SPSite objSite = new SPSite(sSiteUrl))
    {
        using (SPWeb objWeb = objSite.OpenWeb())
        {
            SPList objList = objWeb.Lists[sListName];

            SPQuery objQuery = new SPQuery();
            objQuery.Query = "<OrderBy><FieldRef Name='ColumnName' Ascending='False' /></OrderBy><RowLimit>1</RowLimit>";
            objQuery.Folder = objList.RootFolder;

            // Execute the query against the list
            SPListItemCollection colItems = objList.GetItems(objQuery);

            if (colItems.Count > 0)
            {
                maxValue = (<Insert Appropriate Cast>) colItems[0];
            }
        }
    }
}
catch (Exception ex)
{
    ...
}

return maxValue;
于 2009-08-12T09:49:02.533 に答える
11
<Query>
    <OrderBy>
            <FieldRef Name="particularcolumn" Ascending="FALSE" />
    </OrderBy>
</Query>
于 2009-02-06T16:15:18.313 に答える
3

これは、このフィールドで降順に並べ替え、返されたコレクションの最初の要素を取得することで実行できます。

于 2009-02-05T22:02:30.390 に答える