sqlcase子查詢
㈠ SQL子查詢統計
select
count(distinct(b.visit_id))'visit_id次數',
count(case when typeid=14 then 1 else 0)'14出現次數',
count(case when typeid=65 then 1 else 0)'65出現次數' from a
inner join b on a.visit_id=b.visitId
㈡ SQL子查詢
select 用戶名 ,所處大區, 所處省區,
sum(onty_cnt) as onty_cnt,sum(offty_cnt) as offty_cnt,
sum(overtime) as overtime
from
(select 用戶名 ,所處大區, 所處省區, onty_time ,offty_time, 打卡日期,overtime,
case when to_char(onty_time,'hh24:mi') > '09:00' then 1 else 0 end as onty_cnt,
case when to_char(offty_time,'hh24:mi') < '17:20' then 1 else 0 end as offty_cnt
where 省區 = 參數
and 打卡日期 between '2009-01-01' and '2009-01-31' )
group by 用戶名 ,所處大區, 所處省區
-------------------------------------
這是按人統計, 如果不要每個人的, 只要全部, 那就:
select 所處大區, 所處省區,
sum(onty_cnt) as onty_cnt,sum(offty_cnt) as offty_cnt,
sum(overtime) as overtime
from
(select 用戶名 ,所處大區, 所處省區, onty_time ,offty_time, 打卡日期,overtime,
case when to_char(onty_time,'hh24:mi') > '09:00' then 1 else 0 end as onty_cnt,
case when to_char(offty_time,'hh24:mi') < '17:20' then 1 else 0 end as offty_cnt
where 省區 = 參數
and 打卡日期 between '2009-01-01' and '2009-01-31' )
group by 所處大區, 所處省區
-----------------------------
就是從外面的查詢中把用戶名去掉!
不明白HI我