国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

mysql 如何將女學(xué)生中低于總平均成績的成績提高5%?

瀏覽:147日期:2022-06-18 10:32:44

問題描述

mysql> desc SC ;FieldTypeNullKeyDefaultExtraSIDint(11)NOPRINULL CIDint(11)NOPRINULL GRADEint(11)YES NULL

3 rows in set (0.00 sec)

mysql> desc S ;FieldTypeNullKeyDefaultExtraSIDint(11)NOPRINULL SNAMEvarchar(20)YES NULL AGEint(11)YES NULL SEXint(11)YES NULL

表結(jié)構(gòu)如上, 我寫了一個sql:

update SC set GRADE = (GRADE+GRADE*0.05) where GRADE < (select AVG(GRADE) from SC x) and SID in (select SID from S where SEX = 1) ;

但是報錯:

ERROR 1093 (HY000): You can’t specify target table ’SC’ for update in FROM clause

我到mysql的官網(wǎng)上也沒找到解決的辦法, 看了幾個博客說是要使用中間表, 但是還是寫不出來, 那么正確的sql是怎樣的呢? 望告知

問題解答

回答1:

begindeclare n_avg number;select avg(grade) into n_avg from SC;update SC set GRADE = GRADE*1.05 where grade<n_avg and sid in (select SID from S where SEX=1);end回答2:

select @avgs:=(select avg(grade) from SC);update SC set GRADE = (GRADE+GRADE*0.05) where GRADE < @avgs and SID in (select SID from S where SEX = 1) ;回答3:

有SC表里CID表示課程ID,所以,應(yīng)該是按課程分類,比如語文的平均分是80,那么語文低于80分的女生的分數(shù),就要增加5%,然后每門課都按這樣的邏輯進行

我的理解對嘛?對的話,我就敲代碼了。

相關(guān)文章:
主站蜘蛛池模板: 深圳市| 永善县| 宁强县| 东城区| 大安市| 虹口区| 石柱| 海南省| 岢岚县| 遵义县| 永登县| 福鼎市| 桂阳县| 桂林市| 宁晋县| 扎鲁特旗| 灵山县| 宜君县| 汕尾市| 高碑店市| 长宁县| 曲阳县| 阜康市| 赤壁市| 定远县| 互助| 潮安县| 兴安县| 庆城县| 哈尔滨市| 青川县| 襄垣县| 广灵县| 石台县| 左权县| 班玛县| 临湘市| 兴化市| 永修县| 深州市| 安仁县|