报表汇总语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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=\"返回\">