作者starjou (周星星)
看板Database
标题Re: [SQL ] UPDATE 用法?
时间Thu Jan 24 21:10:21 2008
※ 引述《dcplay01 (dcplay)》之铭言:
: 各位大大...想说 放在新的资料表一值都不行的话..
: 那我就只好放在旧的资料表上了@@
: 还是遇到问题..
: UPDATE joinclass SET liberal_grade = avg( grade )
: FROM JoinClass
: WHERE course_id
: LIKE "%l" OR course_id
: LIKE "%a" OR course_id
: LIKE "%n" OR course_id
: LIKE "%p" AND stu_id =93101163
: 错误讯息
: #1064 - You have an error in your SQL syntax.
: Check the manual that corresponds to your MySQL server version
: for the right syntax to use near
: 'FROM JoinClass WHERE course_id LIKE "%l" OR course_id LIKE "%
: 可是假如我把汇总函数 AVG 去除掉的话 就可以RUN.. 但是我是想计算平均..
: 没有汇总函数....就不能计算@@
AVG 不是要用 GROUP BY 并用?
UPDATE 可以跟 SELECT 并用
你要 UPDATE 的 table 跟 SELECT 应该是有一个键值关联吧?
然後 SELECT 的平均应该是有某一个键值做 GROUP 的依据再平均
譬如学号
所以 某个学生的 所有分数平均 =
SELECT AVG(分数) FROM 成绩 GROUP BY 学号
UPDATE 总成绩 SET 平均分数 = (SELECT AVG(分数) FROM 成绩
WHERE 成绩.学号 = 总成绩.学号 GROUP BY 成绩.学号)
这是你想做的吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.80.137.188