作者MugenPower (无限MUGEN)
看板Database
标题Re: [SQL ] mysql语法请教
时间Wed May 16 09:41:56 2007
※ 引述《kevin524 (等待的天空)》之铭言:
: ※ 引述《MugenPower (无限MUGEN)》之铭言:
: : 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▂ξ
: 真是谢谢阿!!感恩!!
嗯 Y和 N 啊 或其他的值
那就必须使用 Decode 或是 CASE 的语法
MySQL 有没支援 可能要请您查一下手册
或是像前面有版友的方法
用 Sub Query 及 Distinct
其他的暂时没想到
如果
够闲的话 另外开个TABLE 写个 Store 或是 Block 处理也很清楚
XDDDDDD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.145.230.2