Re: [SQL ] mysql語法請教

看板Database (資料庫)作者 (等待的天空)時間17年前 (2007/05/15 21:48), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《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)
文章代碼(AID): #16IRed1s (Database)
討論串 (同標題文章)
文章代碼(AID): #16IRed1s (Database)