MySQL別名在GROUP BY中的使用規則

-- 設置變量:SET @earliest_date = ... 用于定義并賦值一個用戶變量 @earliest_date。
-- 用戶定義的變量必須以 @ 符號開頭,例如 @earliest_date。
-- @ 符號是MySQL中用戶變量的標識符,用于區分系統變量和用戶變量。
SET @earliest_date = (SELECT MIN(DATE(issue_datetime)) FROM issue_tracking);SELECT problem_type,FLOOR(DATEDIFF(DATE(issue_datetime), @earliest_date) / 7) AS week_number,COUNT(*) AS count
FROM issue_tracking    
GROUP BY problem_type, week_number
ORDER by -- 哪個字段在前面,先按哪個字段排序problem_type,week_number;

AI助手給了我這段sql,我內心充滿疑惑,但我比較有禮貌,去運行試了一下,確認AI沒問題,才問出了我的疑問:

這個sql語句為什么不報錯?MySQL不是先執行group by 再執行select嗎?group by的時候week_number還沒有定義啊。

AI回答道:

這個問題涉及SQL語句的執行順序和別名在GROUP BY中的使用規則。雖然SQL邏輯執行順序確實是FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY,但MySQL對GROUP BY子句中的列引用有特殊處理機制。

具體原因如下:
MySQL允許在GROUP BY子句中直接使用SELECT列表中的列別名,這是對標準SQL的擴展。當解析到GROUP BY week_number時,MySQL會識別這是在引用SELECT列表中的別名,而不會報錯。

這種寫法本質上是語法糖,實際執行時MySQL會先將表達式FLOOR(DATEDIFF(DATE(issue_datetime), @earliest_date) / 7)展開到GROUP BY子句中。等價于:

GROUP BY problem_type, FLOOR(DATEDIFF(DATE(issue_datetime), @earliest_date) / 7)

在標準SQL模式下(ONLY_FULL_GROUP_BY),這種寫法可能會報錯,但默認配置下MySQL允許這種便捷寫法。可以通過設置sql_mode參數來嚴格控制GROUP BY行為。

ORDER BY子句同樣可以使用SELECT列表中的別名,因為ORDER BY是在SELECT之后執行的。

這種語法特性使得SQL語句更易讀和維護,但需要注意在不同數據庫系統中的兼容性問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87560.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87560.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87560.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025.7.4總結

感恩環節:感謝今日工作順利度過,明天終于能美美的睡個懶覺了。感謝這周有個美好的雙休。今日去實驗室參觀設備,感謝我的一個同事解答了我關于硬件設備與所做軟件業務之間的關系,通過控制器控制網元等相關設備,同時,雖然…

Prompt 精通之路(五)- 構建你的“AI 指令系統”:超越簡單提問的 CRISPE 與 APE 框架

🚀 Prompt 精通之路:系列文章導航 第一篇:[本文] AI 時代的新語言:到底什么是 Prompt?為什么它如此重要?第二篇:告別廢話!掌握這 4 個黃金法則,讓你的 Prompt 精準有效第…

#NFT藝術品哈希值唯一性與《民法典》“網絡虛擬財產”認定的沖突

首席數據官高鵬律師數字經濟團隊創作,AI輔助 一、當區塊鏈的「絕對唯一」遇上法律的「彈性空間」 每個NFT藝術品背后的哈希值,都像用數學密碼刻在區塊鏈上的指紋——世界上沒有任何兩個完全相同的編碼。這種由0和1構筑的「數字DNA」,被技術信…

【arXiv2025】計算機視覺|即插即用|LBMamba:革新視覺模型效率,性能炸裂

論文地址:https://arxiv.org/pdf/2506.15976 代碼地址:https://github.com/CiaoHe/bi-mamba 關注UP CV縫合怪,分享最計算機視覺新即插即用模塊,并提供配套的論文資料與代碼。 https://space.bilibili.com/473764881 摘要 Mamba…

【狂飆AGI】第7課:AGI-行業大模型(系列1)

目錄 (一)服裝史的GPT時刻(二)AI多學科診療系統(三)醫療大模型(四)生物醫藥大模型(五)教育大模型(六)心理大模型(七&#…

(LeetCode 每日一題) 3307. 找出第 K 個字符 II (位運算、數學)

題目&#xff1a;3307. 找出第 K 個字符 II 思路&#xff1a;位運算&#xff0c;時間復雜度0(logk)。 當2^(i-1) <k 且 2^i>k &#xff0c;說明k在K2^i的右半段 &#xff0c;k和其前半段的某個字符有關系 即當k>K時&#xff0c;k是由k-K位置上的字符變化而來&#xf…

國產MCU學習Day4——CW32F030C8T6:獨立看門狗功能全解析

CW32F030C8T6 看門狗功能概述 CW32F030C8T6 是芯源半導體&#xff08;WCH&#xff09;推出的 Cortex-M0 內核微控制器&#xff0c;內置獨立看門狗&#xff08;IWDG&#xff09;和窗口看門狗&#xff08;WWDG&#xff09;&#xff0c;用于檢測和恢復系統異常狀態。 一.獨立看門…

SAP升級過程中如何確保數據安全?

目錄 升級過程中可能遇到的數據風險 升級前的準備工作 升級過程中的保護措施 升級后的驗證工作 在數字化轉型浪潮中&#xff0c;SAP系統作為企業核心業務運營的系統&#xff0c;其升級過程不僅關乎技術架構的革新&#xff0c;更直接關系到企業最寶貴的資產——數據安全。一…

Vue 3 + Element Plus 常見開發問題與解決方案手冊

&#x1f31f;Vue 3 Element Plus 常見開發問題與解決方案手冊 &#x1f9e0; 本文整理了常見但容易混淆的幾個 Vue 3 前端開發問題&#xff0c;包括插槽、原型鏈、響應式數據處理、v-model 報錯、樣式陰影控制等&#xff0c;建議收藏學習&#xff01; &#x1f4cc;一、動態插…

Spring Boot + 本地部署大模型實現:安全性與可靠性保障

在將大語言模型集成到 Spring Boot 應用中時&#xff0c;安全性和可靠性是兩個關鍵因素。本地部署的大模型雖然提供了強大的功能&#xff0c;但也可能帶來一些安全風險&#xff0c;如數據泄露、模型被惡意利用等。本文將介紹如何在 Spring Boot 應用中保障本地部署大模型的安全…

Zookeeper 客戶端 .net訪問框架 ZookeeperNetEx項目開發編譯

一、項目簡介 ZooKeeperNetEx 項目是一個針對.NET開發的異步客戶端庫&#xff0c;旨在為開發者提供高效且可靠的分布式協調服務。? 該項目完全基于任務異步編程&#xff0c;兼容.NET 4.61及以上版本&#xff0c;包括.NET Core。ZooKeeperNetEx嚴格遵循官方Java客戶端的邏輯&am…

【學習筆記】因果推理導論第2課

因果推理導論第2課 因果推斷假設 前言一、假設1、 Ignorability / Exchangeability2、條件可交換 二、估計 前言 第一節課通過一些例子說明了為什么要做因果推斷,以及通過控制混雜因素計算因果效應;這一節課將圍繞為何控制混雜因素計算因果效應這一方法成立,講述其涉及到的一些…

VASP 教程:VASP 機器學習力場微調

機器學習力場&#xff08;Machine-Learned Force Fields, MLFFs&#xff09;作為一種新興的計算方法&#xff0c;已在第一性原理分子動力學&#xff08;Ab Initio Molecular Dynamics, AIMD&#xff09;模擬中展現出獨特優勢&#xff08;參見 VASP Wiki&#xff1a;Category:Ma…

Java+Vue開發的倉庫管理系統,實時監控庫存,精準統籌貨物出入與調配

前言&#xff1a; 在當今競爭激烈的商業環境中&#xff0c;高效的倉庫管理對于企業的運營和成本控制至關重要。一個完善的倉庫管理系統能夠幫助企業實現貨物的精準存儲、快速出入庫、實時庫存監控以及全面的數據分析&#xff0c;從而提升整體運營效率、降低庫存成本、增強客戶…

【王陽明代數】熱門問答,什么是張量?

【王陽明代數】熱門問答&#xff0c;什么是張量&#xff1f; 流形學習基礎概念前情提要&#xff0c;張量概念的提出&#xff0c;王船山流形與信息容量的概念回答&#xff1a;什么是張量前&#xff0c;對王船山流形&#xff0c;意氣實體的定義再表述&#xff1b;王船山流形分析1…

差分壓縮算法(增量更新)

差分壓縮算法是一種數據壓縮技術&#xff0c;它的核心思想是通過找出數據之間的差異來減少需要存儲或傳輸的數據量。下面從基本原理、常見應用場景、算法示例等方面詳細介紹差分壓縮算法。 基本原理 差分壓縮算法的基本原理是比較相鄰數據元素之間的差異&#xff0c;并只記錄…

Html5支持的視頻文件格式和音頻文件格式有哪些?

視頻文件格式 MP4&#xff1a;MPEG-4 Part 14&#xff0c;支持H.264編碼。幾乎所有的瀏覽器都支持該格式。 WebM&#xff1a;谷歌開發的格式&#xff0c;使用VP8或VP9編碼&#xff0c;可以在大多數現代瀏覽器中播放 Ogg&#xff1a;開放媒體格式&#xff0c;使用Vorbis編碼&…

J20250704 算法題5道

題目一覽&#xff1a; 606. 根據二叉樹創建字符串 - 力扣&#xff08;LeetCode&#xff09; 506. 相對名次 - 力扣&#xff08;LeetCode&#xff09; 1. 兩數之和 - 力扣&#xff08;LeetCode&#xff09; 100. 相同的樹 - 力扣&#xff08;LeetCode&#xff09; 101. 對稱…

UNet改進(15):分組注意力機制在UNet中的應用探索

引言 注意力機制已成為現代深度學習架構中不可或缺的組成部分,特別是在計算機視覺領域。近年來,各種注意力機制的變體被提出,以解決不同場景下的特定問題。本文將深入探討一種稱為分組注意力(Grouped Attention)的機制,以及它如何被集成到經典的UNet架構中,從而提升模型在…