1. 程式人生 > >mysql做報表查詢。sum函式count函式的使用

mysql做報表查詢。sum函式count函式的使用

多個表關聯查詢,取某些欄位,然後進行判斷計算,生成新的欄位,儲存到另一張表中。

SELECT a.LOAN_RECEIPT_NBR,c.`NAME`,b.LOAN_INIT_PRIN *0.9,b.REGISTER_DATE,b.LOAN_EXPIRE_DATE,a.POST_DATE,a.PAY_AMT*0.9,a.CONSUMER_TRANS_ID,
SUM(IF(d.POSTING_FLAG='F00' and TXN_CODE in('L804','L802','L708','L700','L702','L740') ,d.TXN_AMT*0.9,0)) as POST_PRIN,
SUM(IF(d.POSTING_FLAG='F00' and TXN_CODE in('L750','L720','L744','L704') ,d.TXN_AMT*0.9,0)) as POST_INT,
SUM(IF(d.POSTING_FLAG='F00' and TXN_CODE in('L710','L730','L746','L706') ,d.TXN_AMT*0.9,0)) as POST_PENALTY,
SUM(IF(d.POSTING_FLAG='F00' and TXN_CODE in('L740') ,d.TXN_AMT*0.9,0)) as REPLACE_PAY
from TM_LOAN_RECEIPT_LIST a left join  TM_LOAN b on a.LOAN_RECEIPT_NBR = b.LOAN_RECEIPT_NBR
LEFT JOIN TM_APP_PRIM_APPLICANT_INFO c on c.CARD_NO =b.CARD_NO 
LEFT JOIN TT_TXN_POST d on a.CONSUMER_TRANS_ID = d.CONSUMER_TRANS_ID and a.SYS_TRANS_ID = d.SYS_TRANS_ID
INSERT INTO rrs_bdm_udf_balance (
BALANCE,
DATA_DT,
ACCT_NO,


PAYMENT_COUNT,
PAYMENT_AMT,
REPAYMENT_COUNT,
REPAYMENT_AMT,
PAYMENT_CANCEL_AMT,
PAYMENT_CANCEL_COUNT,
REPAYMENT_CANCEL_AMT,
REPAYMENT_CANCEL_COUNT,
OTHER_CREDIT_AMT,
OTHER_DEBIT_AMT
)
SELECT a.BALANCE,
 a.DATA_DT,
a.ACCT_NO,
COUNT(case WHEN b.DATA_TYPE='1' then b.DATA_TYPE END) as PAYMENT_COUNT,
SUM(IF(b.DATA_TYPE='1',b.AMOUNT,0)) as PAYMENT_AMT,

COUNT(case WHEN b.DATA_TYPE='3' then b.DATA_TYPE END) as REPAYMENT_COUNT,
SUM(IF(b.DATA_TYPE='3',b.AMOUNT,0)) as REPAYMENT_AMT,
COUNT(case WHEN b.DATA_TYPE='2' then b.DATA_TYPE END) as PAYMENT_CANCEL_COUNT,
SUM(IF(b.DATA_TYPE='2',b.AMOUNT,0)) as PAYMENT_CANCEL_AMT,
COUNT(case WHEN b.DATA_TYPE='4' then b.DATA_TYPE END) as REPAYMENT_CANCEL_COUNT,
SUM(IF(b.DATA_TYPE='4',b.AMOUNT,0)) as REPAYMENT_CANCEL_AMT,
SUM(IF(b.DATA_TYPE='5',b.AMOUNT,0)) as OTHER_CREDIT_AMT,
SUM(IF(b.DATA_TYPE='6',b.AMOUNT,0)) as OTHER_DEBIT_AMT
from RRS_BDM_UDF_CLEAR_TOT a left join  RRS_BDM_UDF_CLEAR_DETAIL b on a.ACCT_NO = b.ACCT_NO

相關推薦

mysql報表查詢sum函式count函式的使用

多個表關聯查詢,取某些欄位,然後進行判斷計算,生成新的欄位,儲存到另一張表中。 SELECT a.LOAN_RECEIPT_NBR,c.`NAME`,b.LOAN_INIT_PRIN *0.9,b.REGISTER_DATE,b.LOAN_EXPIRE_DATE,a.POS

Jmeter連接mysql簡單查詢

jmeter 線程 配置 技術 線程組 創建 查詢 mysq .cn 1.添加數據庫連接驅動 2.創建 配置原件 -> JDBC Connection Configuration 3.創建一個線程組,並在線程組下創建JDBC Request 4.在線程組下創建查

使用SQL語句統計資料時sumcount函式中使用if判斷條件

首先舉個栗子(不想看的話直接下面看總結): order_type:訂單型別 open_id:使用者唯一標識 SELECT         date(create_time) AS '當天日期',         sum(real_price) AS '當天總收入',

mysql聚合函式count(1) sum(1)結果返回0和NULL

1.count(1) 返回為0 如果所查詢的表或者where條件篩選後得到的結果集為空,則 count(1)返回為 0 如: select count(id) from test; select count(id) from test where id < 0; 返回為NULL 如果所查詢的

mysqlcount函式sum函式的用法

mysql中用於統計的二個函式,而這二個函式通常和group by分組函式配合使用 一、count(*)是統計每一組有多少行 count(*)是將返回表格中所有存在的行的總數包括值為null的行。然而count(列名)將返回表格中除去null以外的所有行的總數(有預設值的

MySql count函式去重查詢錯誤

例如有一個test表如下:手機號欄位有可能是null,如果用這樣查詢的話:SELECT COUNT(DISTINCT t.id,t.name,t.no,t.phone) FROM test t  結果是2,原因的話是因為phone欄位存在null,所以要把語句修改為SELE

Hibernate hql查詢語句 Count:統計函式 Min:求最小值函式 Max:求最大值函式 Sum:求和函式 Avg:求平均數函式

在HQL中可以呼叫 Count:統計函式 Min:求最小值函式 Max:求最大值函式 Sum:求和函式 Avg:求平均數函式  Count:統計函式 Session session = HibernateSessionFactory.getSession(); Transaction tx = sess

mysql資料庫 count() 函式sum() 函式用法和區別

1、mysql 資料庫中 count() 函式是統計查詢結果中的行數,例如我們有下表 user_auth : 使用 count() 函式來查詢結果個數,使用如下查詢: mysql > se

報表工具怎麽模糊查詢

ext 工具 adb image 變量 ges 連接數 連接 展現 在數據查詢系統中,我們常常會遇到精準查詢和模糊查詢。我們知道,對於關系數據庫,使用精準查詢可以直接在 sql 裏面使用“where 字段 = 參數值”來過濾對應的數據,而要實現模糊查詢,我們使用的就是 li

MySql中的count()函式

1.count()函式是用來統計表中記錄的一個函式,返回匹配條件的行數。 2.count()語法: (1)count(*)---包括所有列,返回表中的記錄數,相當於統計表的行數,在統計結果的時候,不會忽略列值為NULL的記錄。 (2)count(1)---忽略所有列,1表示一個固定值,也

當case when then else end 語句遇上sumcount等統計函式(轉載)

轉載:https://blog.csdn.net/qq_18875541/article/details/69392355  事情是因為這樣了——我需要按2個維度來分組,求出按這2個維度分組的總數情況(count),但同時也需要在這2個維度下求出按不同條件得出的總數,這些不同條件下分別

sql (mysql)實現查詢某一個經緯度周圍500米距離的餐館,資料庫存放所有餐館的經緯度

mysql兩點間距,公式如下,單位米:第一點經緯度:lng1 lat1第二點經緯度:lng2 lat2round(6378.138*2*asin(sqrt(pow(sin((lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*

MySQL--count函式如果得到null的處理方法

-- 執行此sql會得到一個null值,我們在做資料列表展示時,即使無資料也必須返回0而非null, 如果我們不在後臺程式碼裡對執行sql之後的結果進行判斷處理的話, 我們就必須想辦法在sql裡解決這件事情。 select count(DISTINCT a.id) FROM t_t

mysql遞迴查詢mysql中從子類ID查詢所有父類(無限分類經常用到)

由於mysql 不支援類似 oracle with ...connect的 遞迴查詢語法之前一直以為類似的查詢要麼用儲存過程要麼只能用程式寫遞迴查詢.現在發現原來一條sql語句也是可以搞定的先來看資料表的結構如下:id  name    parent_id&n

為什麼MySQL查詢語句時,第一次會很慢,但是第二次,第三次就會變快

為什麼MySQL做查詢語句時,第一次會很慢,但是第二次,第三次就會變快 為什麼MySQL的查詢事務第一次執行會很慢,第二次,第三次就會快很多呢? 在國外,有個老外這麼提問 Hi, I have an sql query which takes 8 seconds i

經典的Mysql多表的關聯查詢

Student(S#,Sname,Sage,Ssex)學生表     S#:學號;Sname:學生姓名;Sage:學生年齡;Ssex:學生性別 Course(C#,Cname,T#)課程表             C#,

mysql 開啟慢查詢及其用mysqldumpslow日誌分析

oca status $path 意思 cal hunk 說明 時間 ldl mysql慢查詢日誌是mysql提供的一種日誌記錄,它是用來記錄在mysql中相應時間超過閾值的語句,就是指運行時間超過long_query_time值的sql,會被記錄在慢查詢日誌中。long_

MySql含有GROUP BY子句的查詢中如何顯示COUNT()為0的結果

前階段工作中發現MySql含有GROUP BY子句的查詢中COUNT()為0的結果不顯示. 而針對於分組統計的此類問題,多數人(包括本人)通常會想到: SELECT PID,COUNT(1) AS SUM FROM SS WHERE FIAG = 1 GROUP BY PID

報表工具怎麼模糊查詢

在資料查詢系統中,我們常常會遇到精準查詢和模糊查詢。我們知道,對於關係資料庫,使用精準查詢可以直接在 sql 裡面使用“where 欄位 = 引數值”來過濾對應的資料,而要實現模糊查詢,我們使用的就是 like 的形式。那麼,在報表裡面該如何使用 like 方式實現模糊查詢來

COALESCE(SUM(total),0) 函式mysql

解決使用mysql統計類函式為null,而不能自定義返回值的問題 SELECT COALESCE(SUM(total),0) FROM test_table 根據返回的結果 如果是任意小數 (1.2)則取值為1+0.5 反之為整數 則不做處理 SE