Re: [SQL ] mysql語法請教
※ 引述《MugenPower (無限MUGEN)》之銘言:
: ※ 引述《kevin524 (等待的天空)》之銘言:
: : 請問一下
: : 假如我有一個table
: : 要依據欄位進行不同值的的count計算
: : 最後依據計算出來的key值做合併
: : 要如何做到?謝謝!!
: : 如table有4個欄位
: :   時間    |  節次 | 參與上課  | 學號
: : 2007-5-15     2        1        abc
: : 2007-5-15     2        0        cde
: : 2007-5-15     3        1        dfg
: : 2007-5-15     3        1        ekj
: : 2007-5-16     3        0        kfj
: : 2007-5-16     3        0        qwe
: : 有去上課為1,沒去則否
: : 我想利用時間和節次做分組來計算
: : 當天每個節次上課人數以及缺課人數計算
: : 最後是以時間和節次為分類
: : 如
: :  時間    |  節次 | 上課人數  | 缺席人數
: : 2007-5-15    2        2          1
: : 2007-5-15    3        3          0
: : 2007-5-16    3        2          2
: : 以上結果要怎麼下語法才能做到,謝謝!!
: MySQL 中好像沒有類似 ORACLE的 decode 或是 case 的"函式"
: 若支援這樣的函式 就可以這麼下
: select 時間 ,
:        節次 ,
:        count(參與上課) ,
:        sum(decode(參與上課 , 1 , 0 ,1 )
:   from TABLE
:  group by 時間 , 節次
: 或是
: select 時間 ,
:        節次 ,
:        count(參與上課) ,
:        sum(   case WHEN 參與上課=1
:                    THEN 0
:                    else 1
:                end
:           )
:   from TABLE
:  group by 時間 , 節次
: 不過由於 參與上課  VALUE 為  1  & 0
: 所以說  並不需使用 case 或 decode 這麼麻煩
: 便可以得到上課的人數
: select 時間 ,
:        節次 ,
:        count(參與上課) ,
:        sum(參與上課)
:   from TABLE
:  group by 時間 , 節次
: 再改一下
: select 時間 ,
:        節次 ,
:        count(參與上課) ,
:        count(參與上課)-sum(參與上課)
:   from TABLE
:  group by 時間 , 節次
: 這樣就是缺席人數啦
: 幸好那個欄位的值是 0 與 1
若是改成N和Y勒?
>"<
:  ( ′▽`)y▂ξ
真是謝謝阿!!感恩!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.154.60
※ 編輯: kevin524        來自: 61.59.154.60         (05/15 21:49)
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章