文章详情页
mysql - 这条sql语句为什么加上where就报错?
浏览:149日期: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. Android中能不能判断一个数据库是create来的,还是open来的?2. Android Studio 中 xUtils 3.0 替换 2.0 的时候总报找不到 jar 包是什么原因?3. java - String s=new String()与String s = ""的区别4. css3 - 一个关于CSS雪碧图的问题5. 为什么php修改数据无法同步到数据库,只是当前页面修改成功?6. angular.js - angular获取radio选项的值,在线等啊亲,连续加班一个礼拜了……7. docker Toolbox在win10 家庭版中打开报错8. javascript - vue-router怎么不能实现跳转呢9. java - 如何写一个intellij-idea插件,实现编译时修改源代码的目的10. node.js - mysql如何通过knex查询今天和七天内的汇总数据
排行榜

网公网安备