見本市の訪問日を格納するテーブルがあります。たとえば、訪問者は「a」日から「b」日まで見本市に訪れます。訪問日に基づいてクエリ ウインチ グループを作成しました。しかし、それは「1日あたりの訪問数」を教えてくれます。
ここに私のクエリがあります:
var visitDays = from v in _dbContext.VisitorEvents
join e in _dbContext.VisitorEvents on v.VisitorId equals e.VisitorId
where e.EventId == eventId
group v by EntityFunctions.TruncateTime(v.VisitDay) into g
select new StatisticItemDto()
{
Name = g.Key.ToString(),
Value = g.Count()
};
total =visitDays.Any()? visitDays.Sum(x => x.Value):0;
foreach (var item in visitDays)
{
item.Percent = Framework.Utility.GetPercent(item.Value, total);
}
しかし、私はこのクエリ以上のものを求めていますか? 1 日 1 時間あたりの訪問者数を意味します。例 1 日目の午前 9:00 から午後 17:00 まで。「毎日の毎時間の訪問数」および他の日についても。私の質問が明確であることを願っていますか?
public class StatisticItemDto
{
public string Name { get; set; }
public int Value { get; set; }
public int Percent { get; set; }
public int Total { get; set; }
public List<StatisticItemDto> Hours { get; set; }
}