文章详情页
mysql - 这条sql语句为什么加上where就报错?
浏览:121日期: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. index.php错误,求指点2. html5 - 设置判断条件,设置ng-click无法跳转3. java - spring boot 启动时报SunCertPathBuilderException4. macos - mac下docker如何设置代理5. 微信开放平台 - android 微信支付后点完成按钮,后回调打开第三方页面,屏幕闪动,求解决方法6. 微信公众号在线生成二维码带参数怎么搞?7. PHP单例模式8. javascript - 微信报redirect_uri参数错误9. html5 - h5写的app用的webview,用手机浏览器打开不显示?10. html - 如何用css令背景图能够撑满本身会滚动的页面?
排行榜
