簡體   English   中英

SQL在MVC查詢中按日期分組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM