あなたが望むように聞こえます:
var query = range1.Where(x.OpenedDate >= todayFirst && x.OpenedDate <= todayLast)
.GroupBy(x => x.ItemId)
.Select(g => new { ItemId = g.Key, Count = g.Count() });
foreach (var result in query)
{
Console.WriteLine("{0} - {1}", result.ItemId, result.Count);
}
私はあなたのことをよく理解していない可能性があります - あなたが本当に日付またはアイテム ID でグループ化したいのかはっきりしていません
編集:その範囲内の個別のアイテム ID の数だけが必要な場合は、次を使用できます。
var count = range1.Where(x.OpenedDate >= todayFirst && x.OpenedDate <= todayLast)
.Select(x => x.ItemId)
.Distinct()
.Count();