SQL组按日期在MVC查询



我试图在mvc数据库中查询,我想按订单日期计算购买id和组。这是我的购买模型:

public class Purchase
{
    public int PurchaseID { get; set; }
    public int CustomerID { get; set; }
    public bool DeliveryChoice { get; set; }
    public int? DriverID { get; set; }
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    [Display(Name = "Order Date")]
}

,这是我的查询:

SELECT  
    Purchase.PurchaseID, 
    Purchase.OrderDate,
    COUNT(*) 
From Purchase 
GROUP BY Purchase.OrderDate;

这是我执行它时得到的消息:

留言8120,16层,状态1,线路1
列的购买。PurchaseID'在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。

我该如何修改它以允许我按日期(yyyy-MM-dd)分组并计算购买的商品

如果您需要按日期分组计算purchaseID,那么您需要像这样的查询:

select 
    convert(nvarchar(10), Purchase.OrderDate, 112) as OrderDate,  
    count(Purchase.PurchaseID) 
from Purchase 
group by convert(nvarchar(10), Purchase.OrderDate, 112)

Purchase.PurchaseID移到聚合函数count的参数

你得到了你提到的错误,因为当你分组查询的结果-然后每个选择的值应该是你分组的列,或一些聚合函数的结果-这正是在错误文本中所述的

最新更新