Sql 使用所选摘要创建摘要报告
我需要使用Jasper创建一个报告(如下所示),使用下表示例。 主要问题是计数(A)和计数(C)。在使用Oracle临时表功能(使用合并)之前,我解决了这个问题 我正在寻找一种更高效、更优雅的方法来执行此任务,无论是通过SQL还是使用Jasper ReportSql 使用所选摘要创建摘要报告,sql,jasper-reports,report,Sql,Jasper Reports,Report,我需要使用Jasper创建一个报告(如下所示),使用下表示例。 主要问题是计数(A)和计数(C)。在使用Oracle临时表功能(使用合并)之前,我解决了这个问题 我正在寻找一种更高效、更优雅的方法来执行此任务,无论是通过SQL还是使用Jasper Report CUSTOMER Table CustomerID | CustomerType | Status | Amount --------------------------------------------------- 111
CUSTOMER Table
CustomerID | CustomerType | Status | Amount
---------------------------------------------------
1111 | C | A | 10.5
1112 | C | C | 3.0
1113 | C | A | 6.0
1114 | C | A | 5.0
1115 | C | A | 5.0
1116 | R | C | 4.0
1117 | R |C | 5.0
1118 | R |C | 6.0
1119 | R |A | 7.0
1120 | R |A | 3.0
Report
Customer Type | Count | Count(C) | Count (A) | Sum(amount)
C | 5 | 1 | 4 | 29.5
R | 5 | 3 | 2 | 25.0
使用SQL:
SELECT
CustomerType,
COUNT(*),
SUM(CASE WHEN Status = 'C' THEN 1 ELSE 0 END),
SUM(CASE WHEN Status = 'A' THEN 1 ELSE 0 END),
SUM(Amount)
FROM
Customers
GROUP BY
CustomerType
ORDER BY
CustomerType
不用担心,我们都去过:)