文章详情页
mysql - 这条sql语句为什么加上where就报错?
浏览:81日期: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优化 - mysql count(id)查询速度如何优化?2. python - django 里自定义的 login 方法,如何使用 login_required()3. javascript - git clone 下来的项目 想在本地运行 npm run install 报错4. node.js - node_moduls太多了5. mysql主从 - 请教下mysql 主动-被动模式的双主配置 和 主从配置在应用上有什么区别?6. angular.js - 不适用其他构建工具,怎么搭建angular1项目7. 主从备份 - 跪求mysql 高可用主从方案8. android-studio - Android 动态壁纸LayoutParams问题9. python如何不改动文件的情况下修改文件的 修改日期10. 在Java中System.out.println 只能在method中使用吗?
排行榜
