我有一个表Transaction
Transaction
----------------
txn_id
txn_type
txn_time
txn_dt
txn_amt
样本数据
Txn_id Txn_Type Txn_Time Txn_dt Txn_Amt
1 M 11:00 10-Mar 500
2 M 11:10 10-Mar 100
3 V 11:20 10-Mar 200
4 P 11:30 10-Mar 100
5 P 12:45 10-Mar 200
txn_type列可以包含“V”,“M”,“P”,“X”等值。
我需要获得以下输出
Date HR Description Count
---------------------------------------------
10-Mar 11 Visa 1
10-Mar 11 MasterCard 2
10-Mar 11 PayPal 1
10-Mar 12 PayPal 1
请注意,V = Visa,P = PayPal,M = MasterCard,X =其他
请指导我如何实现这一目标? tran_type可以每小时和每天不同。但是,我们需要找到每小时特定tran_type的不同计数,即11:00-11:59等。在任何时间内循环使用tran_type的各种可能性并获得相应的计数是高级计划。
感谢。
答案 0 :(得分:0)
group by
应该可以做到这一点,例如:
select txn_dt, trunc(txn_time, 'HH24') as hr, txn_type, count(*) as count
from transaction
group by txn_dt, trunc(txn_time, 'HH24'), txn_type