<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)航:
     
    主站蜘蛛池模板: 久久久久亚洲AV片无码| 久久免费精品视频| 亚洲人成日本在线观看| 亚洲日韩小电影在线观看| 日本高清色本免费现在观看| 永久免费在线观看视频| 91精品成人免费国产| 无码毛片一区二区三区视频免费播放| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲AV无码久久精品成人| 狠狠色婷婷狠狠狠亚洲综合| 国产免费AV片无码永久免费| 国产福利在线免费| 1000部啪啪毛片免费看| 国内精品免费在线观看| 好男人资源在线WWW免费| 污视频网站在线观看免费| 色偷偷尼玛图亚洲综合| 亚洲av无码片区一区二区三区| 亚洲视频日韩视频| 久久精品国产亚洲av麻豆色欲| 久久精品视频亚洲| 亚洲AV无码国产精品色午友在线| 久久亚洲国产成人影院网站| 亚洲国产精品视频| 亚洲XX00视频| 国产成人精品曰本亚洲79ren| 亚洲熟女乱综合一区二区| 无码欧精品亚洲日韩一区夜夜嗨| 免费国产高清视频| 免费v片在线观看| 免费一看一级毛片| 亚洲午夜福利精品久久| 亚洲线精品一区二区三区| 亚洲精品卡2卡3卡4卡5卡区| 国产亚洲AV无码AV男人的天堂| 亚洲AV无码久久精品成人| 久久亚洲精品人成综合网| 亚洲综合网美国十次| 亚洲人成毛片线播放| 亚洲hairy多毛pics大全|