首頁 資料庫 mysql教程 如何修復 SQL GROUP BY 查詢中的「選擇清單中的列無效」錯誤?

如何修復 SQL GROUP BY 查詢中的「選擇清單中的列無效」錯誤?

Jan 23, 2025 am 01:11 AM

How to Fix the

修正 SQL GROUP BY 子句中的「列在選擇清單中無效」錯誤

使用 GROUP BY 的資料庫查詢需要仔細考慮 SELECT 列表。 所有選定的欄位必須進行聚合(使用 COUNTSUMMINMAX 等函數)或明確包含在 GROUP BY 子句中。 不遵守此規則會導致錯誤「列在選擇清單中無效,因為它不包含在聚合函數或 GROUP BY 子句中」。

SELECT 清單包含既不聚合也不屬於 GROUP BY 分組的欄位時,就會出現此錯誤。

解決方案涉及調整 SELECT 清單或 GROUP BY 子句。

範例與解:

讓我們檢查一下這個有問題的查詢:

SELECT loc.LocationID, emp.EmpID
FROM Employee AS emp FULL JOIN Location AS loc
ON emp.LocationID = loc.LocationID
GROUP BY loc.LocationID
登入後複製

發生錯誤是因為 emp.EmpID 既未聚合也不包含在 GROUP BY 子句中。 這裡有兩種修正方法:

解 1:聚合未分組的欄位

SELECT loc.LocationID, COUNT(emp.EmpID) AS EmployeeCount
FROM Employee AS emp FULL JOIN Location AS loc
ON emp.LocationID = loc.LocationID
GROUP BY loc.LocationID
登入後複製

此修改後的查詢對每個位置的員工 (COUNT(emp.EmpID)) 進行計數。

解決方案 2:將欄位加入 GROUP BY 子句

SELECT loc.LocationID, emp.EmpID
FROM Employee AS emp FULL JOIN Location AS loc
ON emp.LocationID = loc.LocationID
GROUP BY loc.LocationID, emp.EmpID
登入後複製

這將按 LocationIDEmpID 將結果分組。 請注意,這將消除具有不同 LocationID 值的重複 EmpID 條目。 結果將單獨顯示每位員工的位置。

以上是如何修復 SQL GROUP BY 查詢中的「選擇清單中的列無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

減少在Docker中使用MySQL內存的使用 減少在Docker中使用MySQL內存的使用 Mar 04, 2025 pm 03:52 PM

減少在Docker中使用MySQL內存的使用

如何使用Alter Table語句在MySQL中更改表? 如何使用Alter Table語句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

如何使用Alter Table語句在MySQL中更改表?

mysql無法打開共享庫怎麼解決 mysql無法打開共享庫怎麼解決 Mar 04, 2025 pm 04:01 PM

mysql無法打開共享庫怎麼解決

什麼是 SQLite?全面概述 什麼是 SQLite?全面概述 Mar 04, 2025 pm 03:55 PM

什麼是 SQLite?全面概述

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) 在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) Mar 04, 2025 pm 03:54 PM

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

在MacOS上運行多個MySQL版本:逐步指南 在MacOS上運行多個MySQL版本:逐步指南 Mar 04, 2025 pm 03:49 PM

在MacOS上運行多個MySQL版本:逐步指南

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)? 如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)? Mar 18, 2025 pm 12:00 PM

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)?

如何為MySQL連接配置SSL/TLS加密? 如何為MySQL連接配置SSL/TLS加密? Mar 18, 2025 pm 12:01 PM

如何為MySQL連接配置SSL/TLS加密?

See all articles