C# SQL Server CE GROUP BY子句

C# SQL Server CE GROUP BY子句,c#,sql-server-ce,C#,Sql Server Ce,我必须使用groupby语句从SQLServerCE提取数据 现在我开始 在聚合和分组表达式中,SELECT子句可以包含 仅聚合和分组表达式。[选择子句=,日期] 但我真的很想约会 查询如下: SELECT Date FROM Installments GROUP BY ID HAVING Sr = max(Sr) 我做错了什么?请解释如果您按ID分组,则每个组可能有多个不同的日期,因此您不能选择日期。你可以,比如说, select Max(Date) FROM Installments

我必须使用
groupby
语句从SQLServerCE提取数据

现在我开始

在聚合和分组表达式中,SELECT子句可以包含 仅聚合和分组表达式。[选择子句=,日期]

但我真的很想约会

查询如下:

SELECT Date 
FROM Installments 
GROUP BY ID 
HAVING Sr = max(Sr)

我做错了什么?请解释

如果您按ID分组,则每个组可能有多个不同的日期,因此您不能选择日期。你可以,比如说,

select Max(Date) FROM Installments GROUP BY ID 

正如它所说的,您需要在GROUPBY子句中包含要返回的列

SELECT Date FROM Installments GROUP BY ID, Date 
我想你可能想做的就是

SELECT Date
FROM Installments
WHERE sr = (Select MAX(sr) from Installments)

使用group by时,可以按某个字段分组,并应用聚合函数。 因此,在select中,您应该输入该字段(分组结果),然后输入所用函数的结果

也许你想要像这样的东西

SELECT Id, Max(date) FROM Installments GROUP BY ID 
这取决于你想要什么


阅读

也许值得解释一下您希望用英语而不是SQL查询做什么。我可以想出几种方法来“修复”这个问题,这样它就能给出一个答案,但它们都有不同的答案,我不知道你到底想要哪一个。@Jon Hanna,你能和我一起聊天吗?在聊天中,我可以向你解释模式和我想要的是什么好的,如果Elviejo已经找到了你需要的答案,那就没有意义了。万岁!:)但现在,让CALUSE说“在聚合和分组表达式中,HAVING子句只能包含聚合和分组表达式。[Select CLASSION=Sr]”时也是如此