首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么统计出不同表中的数据,并且显示出结果

2012-02-05 
如何统计出不同表中的数据,并且显示出结果 我要查询的东西: tablewidth\ 100%\ border\ 0\ cellsp

如何统计出不同表中的数据,并且显示出结果

我要查询的东西:


  " <table   width=\ "100%\ "   border=\ "0\ "   cellspacing=\ "0\ "   cellpadding=\ "0\ "> \r\n ");
            out.println( "     <tr> \r\n ");
            out.println( "         <td   width=\ "50\ "   align=\ "center\ "> ID </td> \r\n ");
            out.println( "         <td   width=\ "100\ "   align=\ "center\ "> 用户名 </td> \r\n ");
            out.println( "         <td   width=\ "100\ "   align=\ "center\ "> 姓名 </td> \r\n ");
            out.println( "       \r\n ");
            out.println( "         <td   width=\ "80\ "   align=\ "center\ "> 接收信息数 </td> \r\n ");
            out.println( "         <td   width=\ "80\ "   align=\ "center\ "> 发送信息数 </td> \r\n ");

            out.println( "     </tr> \r\n ");
            int   i=0;
            while(rs.next())
            {
            out.println( "     <tr> \r\n ");
            out.println( "         <td   align=\ "center\ "> "+(++i)+ " </td> \r\n ");
            out.println( "         <td   align=\ "center\ "> "+rs.getString( "username ")+ " </td> \r\n ");
            out.println( "         <td   align=\ "center\ "> "+rs.getString( "zsname ")+ " </td> \r\n ");
            //out.println( "         <td   align=\ "center\ "> "+rs.getString( "innum ")+ " </td> \r\n ");
            //out.println( "         <td   align=\ "center\ "> "+rs.getString( "outnum ")+ " </td> \r\n ");
            out.println( "         <td> &nbsp; </td> \r\n ");
            out.println( "         <td> &nbsp; </td> \r\n ");
            out.println( "         <td> &nbsp; </td> \r\n ");
            out.println( "     </tr> \r\n ");
            }

查询统计语句:
                String   sql= "select   *   from   userinfo ";
                //接受信息统计
              String   insql= "SELECT   Count(*)   as   innum   FROM   listinfo   where   messagesender= ' "+username+ " '   ";


                //发送信息统计
              String   outsql= "SELECT   Count(*)   as   outnum   FROM   listinfo   where   messageincept= ' "+username+ " '   ";
                rs=conn.executeQuery(sql);
                rs=conn.executeQuery(insql);
                rs=conn.executeQuery(outsql);

这样写不对,因为用户发送信息数是根据这个循环查询来的.
要怎么解决?

[解决办法]
多个语句合起来,一个分组语句搞定
[解决办法]
group by
[解决办法]
SELECT username,Count(*) as innum FROM listinfo where messagesender= ' "+username+ " ' group by username
[解决办法]
sql = "SELECT username,Count(*) as innum FROM listinfo where messagesender= ' "+username+ " ' group by username ";
rs = conn.executeQuery(sql);

热点排行