数据库中有reason这一字段,这字段中有以下这些类型的数据 
reason     我想统计各个原因的数目    即   天气原因   交通原因    事故原因   这样的结果
天气原因                                    10        12          15
交通原因     请问一下应该怎么写SQL语句呢?我想到是 select count(*) as weather from A where reason="天气原因"  selec count(*) as traffic   
事故原因     from A where reason="交通原因" 怎么把这两个查询结果联接起来呢?

解决方案 »

  1.   

    select count(reason) from table group by reason
      

  2.   

    select  decode(sum(reason,'天气原因',1,0)) 天气原因,
            decode(sum(reason,'交通原因',1,0)) 交通原因,
            decode(sum(reason,'事故原因',1,0)) 事故原因  
            from table       
      

  3.   

    select  sum(decode(reason,'天气原因',1,0)) 天气原因, 
            sum(decode(reason,'交通原因',1,0)) 交通原因, 
            sum(decode(reason,'事故原因',1,0)) 事故原因  
            from table上面的错了