文章详情页
mysql - 这条sql语句为什么加上where就报错?
浏览:254日期: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. python - 用ffmpeg采集视频,用terminate没法结束进程2. 为什么我ping不通我的docker容器呢???3. docker网络端口映射,没有方便点的操作方法么?4. mysql - 求一个sql语句,比较简单。5. 网页爬虫 - python 爬虫怎么处理json内容6. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?7. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?8. javascript - js中向下取整9. javascript - 关于jquery的ajax post数据的问题10. mysql控制台没法退出?
排行榜

网公网安备