文章詳情頁
mysql - 這條sql語句為什么加上where就報錯?
瀏覽:115日期:2022-06-17 09:07:17
問題描述
這條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
相關文章:
1. mysql - 記得以前在哪里看過一個估算時間的網站2. python中merge后文件莫名變得非常大3. 希望講講異常處理4. css3 - 純css實現點擊特效5. docker start -a dockername 老是卡住,什么情況?6. javascript - 關于<a>元素與<input>元素的JS事件運行問題7. java - 為什么第一個線程已經釋放了鎖,第二個線程卻不行?8. css3 - [CSS] 動畫效果 3D翻轉bug9. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變10. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網站的內容。
排行榜
