日期:2014-05-16  浏览次数:20697 次

求一SQL语句
原始数据表:


目标数据表:


------解决方案--------------------
还是不行。。。
lz 你怎么发图的呀?
------解决方案--------------------
SQL code

select 所属部门,count(所属部门) 终端总数,
       sum(decode(在线状态,'在线',1,0)) 在线数量,
       sum(decode(在线状态,'不在线',1,0)) 不在线数量
from tb1 
group by 所属部门

------解决方案--------------------
SQL code
SQL> show user
USER 为 "SCOTT"

SQL> ed
已写入 file afiedt.buf

  1  CREATE TABLE tbs(
  2     日期 DATE,
  3     所属部门 VARCHAR2(20),
  4     使用单位 VARCHAR2(20),
  5     在线状态 VARCHAR2(10)
  6* )
SQL> /

表已创建。

SQL> @c:\sql.sql

已创建 1 行。


已创建 1 行。


已创建 1 行。


已创建 1 行。


已创建 1 行。

SQL> select * from tbs;

日期           所属部门             使用单位             在线状态
-------------- -------------------- -------------------- ----------
12-2月 -12     西山分局             河口派出所           不在线
12-2月 -12     西山分局             江山派出所           在线
12-2月 -12     呈贡分局             派出所1              不在线
12-2月 -12     呈贡分局             派出所2              不在线
12-2月 -12     呈贡分局             派出所3              不在线

SQL> ed
已写入 file afiedt.buf

  1  select 所属部门,count(所属部门) 终端总数,
  2         sum(decode(在线状态,'在线',1,0)) 在线数量,
  3         sum(decode(在线状态,'不在线',1,0)) 不在线数量
  4  from tbs
  5* group by 所属部门
  6  /

所属部门               终端总数   在线数量 不在线数量
-------------------- ---------- ---------- ----------
西山分局                      2          1          1
呈贡分局                      3          0          3

SQL>