文章详情页
mysql - 这条sql语句为什么加上where就报错?
浏览:131日期: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. javascript - 微信jssdk ios下自定义onMenuShareAppMessage 分享失效,Android分享成功2. 微信公众号发送模板消息返回错误410003. docker - MySQL 报错:Access denied for user ’xxx’@’localhost’4. css3怎么限定文字字数5. javascript - 关于微信公众号开发的一个trouble!6. java - 用IDEA搭建SSM框架单元测试时候报错7. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!8. html5 - 想要写一个H5页面,就微信打开来那种,然后几个输入框,把数据保存在我后台(java)的数据库里,实现思路是怎样的?9. 创建mysqli对象与数据库连接 - 出错10. 如何用html5开发app?ide是netbeans
排行榜
