<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      33 隨筆 :: 3 文章 :: 2 評論 :: 0 Trackbacks
    原發:http://hi.baidu.com/yeafee/blog/item/cc377dd978991ee838012fe2.html
    表內存結構及數據如下:
    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);

    根據下列要求,寫出相應的SQL語句:

    a.??????統計每個學生所有課程的平均成績
    select?student,avg(score)?from?tscore?group?by?student;

    b.?????統計每門課程所有學生的平均成績


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

    c.?????構建具有如下結構的結果集:學生姓名 A課程成績 B課程成績 C課程成績。不可以使用子查詢


    Oracle HowTo:如何使用Oracle的Decode函數進行多值判斷



    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.?????假設60分為及格,統計每門課程參加考試的學生的數量,及格的學生數,以及通過率(在一條SQL語句中)


    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 內置函數大全(一)(二)(三)


    SIGN
    取數字n的符號,大于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復制

    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) 評論(0)  編輯  收藏 所屬分類: 數據庫
    主站蜘蛛池模板: 精品亚洲成A人无码成A在线观看| 黄页网站在线免费观看| 好爽又高潮了毛片免费下载| 精品亚洲福利一区二区| 中文字幕不卡亚洲 | 成年网在线观看免费观看网址| 久久久久亚洲AV无码专区桃色| a级亚洲片精品久久久久久久 | 免费看美女裸露无档网站| 亚洲人成色777777精品| 亚洲人成精品久久久久| 亚洲免费网站观看视频| 亚洲一区二区影视| 亚洲国产精品综合久久一线| 啦啦啦完整版免费视频在线观看| 美女被吸屁股免费网站| 亚洲视频免费一区| 亚洲精品动漫人成3d在线| 青青视频观看免费99| 一级毛片aa高清免费观看| 亚洲免费闲人蜜桃| 久久91亚洲人成电影网站| 日韩在线免费看网站| 99热在线免费播放| 亚洲国产品综合人成综合网站| 一区国严二区亚洲三区| 日韩中文字幕精品免费一区| 精品人妻系列无码人妻免费视频| 亚洲精品午夜国产va久久| 香蕉蕉亚亚洲aav综合| 999国内精品永久免费观看| 一级毛片免费在线观看网站| 亚洲欧美国产精品专区久久| 亚洲第一视频网站| 亚洲熟妇丰满多毛XXXX| 免费A级毛片无码A∨男男| 免费大片黄在线观看yw| 午夜视频免费在线观看| 国产精品成人69XXX免费视频| 相泽南亚洲一区二区在线播放| 亚洲国产成人精品电影|