您的位置:首頁技術文章
文章詳情頁

mysql - 這條sql語句為什么加上where就報錯?

瀏覽:96日期:2022-06-17 09:07:17

問題描述

mysql - 這條sql語句為什么加上where就報錯?mysql - 這條sql語句為什么加上where就報錯?

這條SQL

SELECT *,SUM(tuanke_time.time) AS total_time FROM `tuanke_time` LEFT JOIN tuanke_student ON tuanke_student.Sid = tuanke_time.studentID WHERE total_time > 100GROUP BY tuanke_time.studentID

加上where就報錯說不存在total_time列,但是我看了明明存在啊

問題解答

回答1:

total_time 是你給SUM(tuanke_time.time)取得別名,數據庫表字段本身沒有這列吧。

查詢total_time > 100,你可以試試

SELECT *FROM `tuanke_time` LEFT JOIN tuanke_student ON tuanke_student.Sid = tuanke_time.studentID GROUP BY tuanke_time.studentID having SUM(tuanke_time.time) > 100;回答2:

total_time是你在查詢輸出列中定義的,原來的表中沒有這個列。

回答3:

外連接中on 和where是等效的,不能重復,直接去掉where

相關文章:
国产综合久久一区二区三区