文章詳情頁
mysql - 這條sql語句為什么加上where就報錯?
瀏覽:96日期: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. javascript - h5 video層級太高導致浮在div上面,如何解決?2. java - 多客戶端如何操作MQ比較合適3. html5 - video ios不能播放怎么辦?4. javascript - 圖片無法正常加載5. python中怎么對列表以區間進行統計?6. mysql - 記得以前在哪里看過一個估算時間的網站7. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個?8. 如何合并兩張具有相同結構的mysql表9. javascript - Ajax加載Json時,移動端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?10. mysql ER_BAD_DB_ERROR: Unknown database ’test’
排行榜
