[英]SQL group by date in MVC query
我正在嘗試在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行
選擇列表中的“ Purchase.PurchaseID”列無效,因為它既不包含在聚合函數中,也不包含在GROUP BY子句中。
我將如何解決該問題,以便我按日期分組(yyyy-MM-dd)並計算purchaseid
如果您需要計算按日期分組的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
的參數即可
您遇到了提到的錯誤,因為在對查詢結果進行分組時-每個選擇的值都應該是您要分組的列,或者是某些聚合函數的結果-這正是錯誤中所說的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.