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數位生活區 即時熱門文章