<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yeafee@夜飛郎

    it's usually better to solve problems with simplicity and finesse rather than muscle.

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      33 隨筆 :: 3 文章 :: 2 評(píng)論 :: 0 Trackbacks
    原發(fā):http://hi.baidu.com/yeafee/blog/item/cc377dd978991ee838012fe2.html
    表內(nèi)存結(jié)構(gòu)及數(shù)據(jù)如下:
    CREATE?TABLE?`tscore`?(
    ????`student`?
    varchar(20)?default?NULL,
    ????`subject`?
    varchar(20)?default?NULL,
    ????`score`?
    int(11)?default?NULL
    )?ENGINE
    =MyISAM?DEFAULT?CHARSET=utf8;

    /*?Data?for?the?`tscore`?table????(Records?1?-?6)?*/
    INSERT?INTO?`tscore`?(`student`,?`subject`,?`score`)?VALUES
    ????(
    'B',?'Maths',?87),
    ????(
    'A',?'Maths',?88),
    ????(
    'C',?'Maths',?86),
    ????(
    'A',?'Language',?81),
    ????(
    'B',?'Language',?55),
    ????(
    'A',?'Chemistry',?77);

    根據(jù)下列要求,寫出相應(yīng)的SQL語(yǔ)句:

    a.??????統(tǒng)計(jì)每個(gè)學(xué)生所有課程的平均成績(jī);
    select?student,avg(score)?from?tscore?group?by?student;

    b.?????統(tǒng)計(jì)每門課程所有學(xué)生的平均成績(jī);


    select?subject,avg(score)?from?tscore?group?by?subject;

    c.?????構(gòu)建具有如下結(jié)構(gòu)的結(jié)果集:學(xué)生姓名 A課程成績(jī) B課程成績(jī) C課程成績(jī)。不可以使用子查詢。


    Oracle HowTo:如何使用Oracle的Decode函數(shù)進(jìn)行多值判斷



    Oracle:

    select?t.subject,
    ?????????
    sum(decode(t.subject,?'A',?t.score,?0))?as?score_a,
    ?????????
    sum(decode(t.subject,?'B',?t.score,?0))?as?score_b,
    ?????????
    sum(decode(t.subject,?'C',?t.score,?0))?as?score_c
    from?????score?t
    group?by?t.student

    MySQL:

    select?student,
    sum(case?when?subject='Maths'?then?score?end)?as?score_maths,
    sum(case?when?subject='Language'?then?score?end)?as?score_language,
    sum(case?when?subject='Chemistry'?then?score?end)????as?score_chemistry
    from?tscore
    group?by?student;

    select?distinct?(a.student),b.score?as?maths,c.score?as?Language,d.score?as?Chemistry
    from?tscore?a
    left?join?tscore?b?on?a.student=b.student?and?b.subject='Maths'
    left?join?tscore?c?on?a.student=c.student?and?c.subject='Language'
    left?join?tscore?d?on?a.student=d.student?and?d.subject='Chemistry'
    order?by?a.student;


    d.?????假設(shè)60分為及格,統(tǒng)計(jì)每門課程參加考試的學(xué)生的數(shù)量,及格的學(xué)生數(shù),以及通過(guò)率(在一條SQL語(yǔ)句中)


    Oracle:

    select?a.*,?a.pass_count/a.total_count?as?pass_rate
    from?(select????t.subject,?count(t.subject)?as?total_count,?sum(decode(sign(t.score-60),1,1[,0,1,]0))?as?pass_count
    from??????score?t
    group?????by?t.subject)?a

    MySQL:

    select?a.*,a.passCount/a.totalCount?as?passRate?from
    (
    select?subject,COUNT(subject)?as?totalCount,sum(case?when?(sign(score-60)>=0)?then?1?end)?as?passCount
    from?tscore
    group?by?subject
    )a;


    Oracle SQL 內(nèi)置函數(shù)大全(一)、(二)、(三)


    SIGN
    取數(shù)字n的符號(hào),大于0返回1,小于0返回-1,等于0返回0
    SQL> select sign(123),sign(-100),sign(0) from dual;

    SIGN(123) SIGN(-100)?? SIGN(0)
    --------- ---------- ---------
    1???????? -1???????? 0

    INSERT INTO .. .SELECT...FROM復(fù)制

    CREATE?TABLE?tmp_user?AS?select?*?from?user?where?1=2;
    INSERT INTO user SELECT * FROM tmp_user;
    posted on 2007-07-11 11:02 @yeafee 閱讀(223) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产免费MV大全视频网站| 日韩免费人妻AV无码专区蜜桃| 美女18毛片免费视频| 色吊丝最新永久免费观看网站| 亚洲成人网在线播放| 日韩免费一区二区三区在线播放| 亚洲成AV人综合在线观看| 美女被免费喷白浆视频| 亚洲妇女熟BBW| 暖暖免费高清日本一区二区三区| 亚洲AV永久无码区成人网站| av永久免费网站在线观看| 亚洲韩国—中文字幕| 国产AV日韩A∨亚洲AV电影| 国产偷国产偷亚洲高清人| 四虎影视免费永久在线观看| 亚洲videosbestsex日本| 永久黄网站色视频免费直播| 无码 免费 国产在线观看91| 在线a亚洲v天堂网2019无码| 99热在线免费播放| 亚洲欧美第一成人网站7777| JLZZJLZZ亚洲乱熟无码| 99国产精品免费视频观看| 亚洲小说图区综合在线| 亚洲精品天堂成人片?V在线播放| 另类免费视频一区二区在线观看 | 国产成人精品日本亚洲11| 国产精品久久久久影院免费| 国产一级一毛免费黄片| 亚洲成av人片不卡无码| 一区国严二区亚洲三区| 无码AV片在线观看免费| 亚洲av无码专区国产不乱码 | 亚洲精品午夜视频| 永久黄网站色视频免费| 久爱免费观看在线网站| 亚洲大码熟女在线观看| 国产亚洲精品a在线无码| 在线观看人成视频免费| 免费网站看av片|