zoukankan      html  css  js  c++  java
  • 查出数据库各种类型的金额,汇总

    本实例是在做小项目的时候用到的,想分享给大家,虽然简单,但可能对大家有用。!!!

    实例:记账系统

    一:

    数据库: 流水记录,记录的消费类型有很多。如下图:通过typeId字段可以知道类型。(当然这里还有一张消费类型表哦)

    二:sql语句查询

    说明:主要是case语句的运用,根据不同情况,对不同的值进行sum运算得到我们想要的结果!

    1     public List getSQLqueryColumnList(String sql)
    2     {
    3         List l=getSession().createSQLQuery(sql).list();
    4         return l;
    5 
    6     }

    baseDao是我各种基础数据库操作的函数,大家可以自行构建,其实主要是用上面的函数.

    如果用的是hibernate  可以拿到sessionFactory  sessionFactory.

    SessionFactory.getCurrentSession() 得到session,再操作,即上述函数。

     1  //查出各种钱钱钱钱钱钱钱汇总、只查出几个类别、所以不用group by
     2           String Moneysql="select  sum(case when typeid=1  then  money else 0 end ) as cateen,"+
     3                 "sum(case when typeid=2  then  money else 0 end ) as car,"+
     4                 "sum(case when typeid=3  then  money else 0 end ) as entertainment,”+
    11                 "sum(case when typeid=10  then  money else 0 end ) as othermoney,"+
    12                 "sum(money) as totalmoney "+
    13                 "from db_workinfo.tb_daily_account where rigisteruser='wuhuanbin' and id between 2 and 30";
    14 
    15         List listForMoney=baseDao.getSQLqueryColumnList(Moneysql);
    16 
    17         Iterator moneyIterator=listForMoney.iterator();
    18         Object[] o=(Object[])moneyIterator.next();
    19         System.out.println("餐饮"+o[0]);
    20         System.out.println("车辆使用 "+o[1]);
    21         System.out.println("项目娱乐 "+o[2]);
    22         System.out.println("办公设备 "+o[3]);
    23         System.out.println("住宿fe费 "+o[4]);
    24         System.out.println("交通费 "+o[5]);
    25         System.out.println("服务费 "+o[6]);
    26         System.out.println("礼品费 "+o[7]);
    27         System.out.println("培训费 "+o[8]);
    28         System.out.println("其他费 "+o[9]);      
    29 
    30         System.out.println("总de费用: "+o[10]);


    //查的是流水表,根据是消费类型ID哦!
  • 相关阅读:
    使用者自订控件 / User Control
    File 与 Log #1ASP.NET的档案与I/O Stream(为系统记录Log文件)
    JavaScript + ASP.NET
    [VB][ASP.NET]FileUpload控件「批次上传 / 多档案同时上传」的范例
    Android开发之道(4)程序框架基础
    虚拟机网络设置
    POST 模拟登陆
    android 面试二
    SSCANF 正则表达式
    android 之 @ 与? 的区别
  • 原文地址:https://www.cnblogs.com/xiancai5210/p/3956193.html
Copyright © 2011-2022 走看看