文章详情页
mysql - 这条sql语句为什么加上where就报错?
浏览:204日期: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. golang - 用IDE看docker源码时的小问题2. debian - docker依赖的aufs-tools源码哪里可以找到啊?3. docker start -a dockername 老是卡住,什么情况?4. macos - mac下docker如何设置代理5. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?6. docker镜像push报错7. docker-machine添加一个已有的docker主机问题8. dockerfile - 为什么docker容器启动不了?9. 关于docker下的nginx压力测试10. docker内创建jenkins访问另一个容器下的服务器问题
排行榜

网公网安备