日期:2014-05-17  浏览次数:20813 次

关于一个表的查询问题
Oracle中有一个表,基本结构如下:
1、RQ(Date)
2、ZT(Char)
表中大约有20万条记录,ZT中的值有两种:0和1

我现在希望按照如下的格式查询:
RQ,ZT0,ZT1,就是把ZT表中记录按照日期进行分类,然后生成一个表
简单的查询和统计还能办,上面的要求就不知道该如何处理了:

select count(*),to_char(rq,'yyyy-mm-dd') from tabname where zt='0' group by to_char(rq,'yyyy-mm-dd')

希望大家指教。


------解决方案--------------------
SELECT RQ, SUM(DECODE(ZT, '0 ', 0, 1)) AS ZT0, SUM(DECODE(ZT, '1 ', 1, 0)) AS ZT1 
FROM TABNAME 
GROUP BY RQ 
ORDER BY RQ
------解决方案--------------------
decode就是一系列的case..when..then

相当于
case 列名 
when 条件1 then 结果1
when 条件2 then 结果2
when。。。。