查出數據庫各種類型的金額,匯總


 

本實例是在做小項目的時候用到的,想分享給大家,雖然簡單,但可能對大家有用。!!!

 

實例:記賬系統

 

一:

數據庫: 流水記錄,記錄的消費類型有很多。如下圖:通過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哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM