2016-10-04 50 views
0

我有一個很長的查詢引用了不同表中的許多字段。我想查看每行數據的最後一個狀態,並且當我通過所有其他字段(不包括日期一)進行分組時,這在較小的查詢中起作用。使用SELECT MAX(date_field)拋出無效錯誤聚合函數或GROUP BY子句

有了更長的查詢在尋找更多的領域,我收到以下錯誤,對所有字段:

在選擇列表中無效,因爲它不是在聚合函數或GROUP BY包含子句

請問有什麼明顯的東西我缺少嗎?

在此先感謝

+1

您正在使用哪些DBMS?另外:[編輯]你的問題添加所涉及的表格和你正在使用的查詢的'create table'語句。 [_Formatted_](http://stackoverflow.com/editing-help#code)**文本**,請[無屏幕截圖](http://meta.stackoverflow.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://stackoverflow.com/questions/18258704/column-invalid-in-the-select-list-because-it -is-未包含的功能於非此即彼的-匯聚) –

回答

0

此錯誤只是意味着,所有的這些都沒有在選擇任何聚合函數部分列應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你的完整錯誤信息。似乎也缺少列名 –

相關問題