Sql应用示例收集

       有一端时间天天搞存储过程编程,于是乎对sql很是熟练,然后等到去做java前台开发久了,后台数据库sql用起来有力不从心了,特别是那些较复杂的统计sql。该文章的作用在于收集我自己在工作中比较经典的sql语句。

1,

  
  
  
  
  1. select trunc(t.fsendtime, 'mm'as month
  2.        sum(DECODE(mod(length(t.fmsgcontent), 64), --短信长度为64 
  3.                   0, 
  4.                   trunc(length(t.fmsgcontent) / 64), 
  5.                   trunc(length(t.fmsgcontent) / 64) + 1)) as num, 
  6.        sum(DECODE(mod(length(t.fmsgcontent), 64), --短信长度为64 
  7.                   0, 
  8.                   trunc(length(t.fmsgcontent) / 64), 
  9.                   trunc(length(t.fmsgcontent) / 64) + 1)) * 0.045 as m 
  10.   from t_inf_smssendedoutbox2 t 
  11.  where t.fsendtime > to_date('2010-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'
  12.  group by trunc(t.fsendtime, 'mm'
  13.  order by trunc(t.fsendtime, 'mm'); 

作用:用于统计出2010年6月到现在,每个月的短信发送条数,以及该月的短信费用。一条短信长度为64,一条费用为0.045元,最终结果以“月、条数、费用”三字段的方式呈现。

说明:因为fmsgcontent字段实际存放的长度大于64,而计费要按64每条来算,所以这里使用decode函数(相当于case)来进行统计。

 

你可能感兴趣的:(sql,数据库,经典,收集,休闲)