I want to select a sharepoint list item which has the Maximum value for a particular column. How can I do this using CAML queries?
The following CAML query would return the maximum value for a given column:
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;
<Query>
<OrderBy>
<FieldRef Name="particularcolumn" Ascending="FALSE" />
</OrderBy>
</Query>
This can be done ordering by this field in descending way and taking the first element of the collection returned.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With