报表汇总语句

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SELECT 菜品,SUM(数量) 数量,SUM(总价) 总价,MIN(显示循序) 显示循序

FROM 表

GROUP BY 菜品

HAVING COUNT(菜品)>1

ORDER BY 2 DESC

表如下

菜品数量总价显示循序

香仁饼干 2 12 0001

奶油 1 6 00010001

法式起点 1 5 00010002

滴滤咖啡 3 18 0002

香仁饼干 3 18 0003

奶油 2 12 00030001

法式起点 1 5 00030002

整理效果

菜品数量总价显示循序

香仁饼干 5 30 0001

奶油 3 18 00010001

法式起点 2 10 00010002

【实例134】用Java Report的RsTable对象输出报表

本例将沿用第7章中在SQL Server数据库testDataBase中创建的表userTable,实现输出用户资料报表,这个报表可导出成PDF、EXCEL等格式,并在页面首部的工具栏中加入的排序的超链接,可根据需要来对报表中的数据进行排序,其实质上改变SQL语句中的order by子句中的排序字段来实现的。源代码如下:

RsTable.jsp

<%@ page contentType="text/html; charset=GBK" %>

<%@ page import="java.awt.*"%>

<%@ page import="java.sql.*"%>

<%@ page import="com.javareport.beans.*"%>

<%@ page import="com.javareport.http.*"%>

<%@ page extends="com.javareport.http.Web ReportEngine"%>

<%!

// 建立报表,返回报表的实例。

public Report createReport(HttpServletRequest request) throws Exception{

Report report = new Report(); // 实例化报表对象

RsTable rst = getRsTable(request); // 创建表格对象

//设置页眉和页角的显示内容.

report.addHeaderText("记录集表格程序示例");

report.addHeaderSeparator(1);

report.addFooterSeparator(1);

report.addFooterText("第{P}页,共{N}页");

//设置报表中间显示的内容.

report.addText("系统用户资料表:");

report.addBreak();

report.addBreak();

report.addTable(rst); //把录集表格对象添加到报表容器中.

report.addBreak();

return report;

}

// 生成ResultSet表格,同时设置对象的相关属性.

public RsTable getRsTable(HttpServletRequest request) throws Exception {

ResultSet rs = getResultSet(request); //查询得到记录集,这是实时动态数据的来源.

RsTable rsTable = new RsTable(rs); //实例化记录集表格对象

// 设置表格显示列名时的映射关系,即显示成为中文的名称

String[][] map = new String[][]{{"user_id","用户编号"},{"user_name","用户名"}, {"user_true_name","用户真实姓名"},{"user_age","用户年龄"},{"user_sex","用户性别"},{"user_address","用户地址"}};

rsTable.setMapping(map);

// 置表格的样式,行和列的边线都显示出来,表头的列名显示成灰色,对齐方式为中间对齐,列宽度自动调整.

rsTable.setRowBorder(RsTable.LINE_THIN);

rsTable.setColBorder(RsTable.LINE_THIN);

rsTable.setRowBackground(0,Color.LIGHT_GRAY);

rsTable.setAlignment(Table.H_CENTER + Table.V_CENTER);

rsTable.setColAutoSize(true);

return rsTable;

}

// 查询得到一个ResultSet对象,这里访问的是一个SQL Server数据库

public ResultSet getResultSet(HttpServletRequest request) throws Exception { String orderByCol = Tools.getParameter(request,"orderby","user_id");

String strurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase";

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Connection conn=DriverManager.getConnection(strurl,"sa","6599996") ;

Statement stmt=conn.createStatement();

ResultSet rs = stmt.executeQuery("select user_id,user_name,user_true_name,

user_age,user_sex,user_address from"+

" userTable order by "+orderByCol);

return rs;

}

// 这是工具栏中的显示返回按钮的脚本代码

public String getToolbarScript(HttpServletRequest request){

String uri = request.getRequestURI();

return "

"?op=Resource&name=/resource/back.gif\" border=\"0\" alt=\"返回\">"+

相关文档
最新文档