為什麼我的 MySQL 5.7 聚合查詢在沒有 GROUP BY 子句的情況下會失敗?
Oct 26, 2024 am 01:42 AMMySQL 5.7 中聚合查詢需要GROUP BY
問:升級到MySQL 5.7.14 後,執行查詢時遇到錯誤沒有查詢BY 子句。該查詢涉及聚合 (COUNT) 和 SELECT 清單中的非聚合列,以前在較舊的電腦上執行。
答:在 MySQL 版本 5.7.5 及更高版本中,預設行為已更改聚合資料時強制使用 GROUP BY。這意味著,當 SELECT 子句中使用 COUNT 等函數時,所有非聚合資料列必須包含在 GROUP BY 子句中。
要解決該錯誤,您有兩個選項:
- 修改MySQL 設定:調整MySQL 配置以恢復到先前的行為,即允許在不使用GROUP BY 的聚合查詢中使用非聚合列。
- 修正查詢: 更新查詢以包含GROUP BY 子句中的所有非聚合列,如下例所示:
<code class="sql">SELECT id, password, COUNT(id) AS count FROM users WHERE email = :email GROUP BY id, password LIMIT 1</code>
登入後複製
需要注意的是,MySQL 5.7.5 及更高版本中存在異常當使用WHERE 子句中的篩選器將非聚合列限制為單一值時。在這種情況下,可以從 GROUP BY 子句中排除非聚合列。更多詳情請參考官方文件。
以上是為什麼我的 MySQL 5.7 聚合查詢在沒有 GROUP BY 子句的情況下會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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