使用SELECT MAX(date_field)抛出无效错误聚合函数或GROUP BY子句

问题描述:

我有一个很长的查询引用了不同表中的许多字段。我想查看每行数据的最后一个状态,并且当我通过所有其他字段(不包括日期一)进行分组时,这在较小的查询中起作用。使用SELECT MAX(date_field)抛出无效错误聚合函数或GROUP BY子句

有了更长的查询在寻找更多的领域,我收到以下错误,对所有字段:

在选择列表中无效,因为它不是在聚合函数或GROUP BY包含子句

请问有什么明显的东西我缺少吗?

在此先感谢

+1

您正在使用哪些DBMS?另外:[编辑]你的问题添加所涉及的表格和你正在使用的查询的'create table'语句。 [_Formatted_](http://*.com/editing-help#code)**文本**,请[无屏幕截图](http://meta.*.com/questions/285551/why-may-i -not-upload-images-of-code-on-so-when-asking-question-285557#285557) –

+0

请显示查询,为此您收到错误,错误很明显 – TheGameiswar

+1

可能出现[Column“在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中“](http://*.com/questions/18258704/column-invalid-in-the-select-list-because-it -is-未包含的功能于非此即彼的-汇聚) –

此错误只是意味着,所有的这些都没有在选择任何聚合函数部分列应BY子句的组的一部分。从你共享的信息看起来你有MAX(date_field)。所以所有其他列应该按分组添加。如果您仍然面临问题,请分享您的SQL脚本。

+0

谢谢,我使用Microsoft SQL Server 2008。我的剧本很长很抱歉: – Uganda

+0

选择 S.client_id, S.crms_number, S.prospect_type, ST.first_source_tag, ST.last_mo_source_tag, \t \t \t MAX(SSH.student_status) '一月16' AS摄入, 1 AS询问, CASE WHEN ST.last_mo_source_tag LIKE '%扬%' AND ST.last_mo_source_tag LIKE“%16% 'THEN 1 ELSE 0 END AS Offer, CASST WHEN S.student_status LIKE'enroll%'AND S.student_status LIKE'%Jan%'AND S.student_status LIKE'%16%'then 1 ELSE 0 END AS Enrolled, – Uganda

+0

Atleast你的完整错误信息。似乎也缺少列名 –