如何计算日期相同的列的总和?

时间:2012-08-03 07:00:03

标签: jsp

我想获得日期相同的列的总和。

日期费用
3/8/2012 200
3/8/2012 400
4/8/2012 300
4/8/2012 100

<%stat=con.createStatement();
rs=stat.executeQuery("select * from pat.dbo.PHPL"); 
while(rs.next())
{
date=rs.getString("Date");
charges=rs.getString("Charges");%>
<table>

<tr>
<td><%=date%></td>
<td><%=charges%></td>
<%}%>
</tr></table>

想要这个结果:

日期费用
3/8/2012 600
4/8/2012 400

我想用jsp而不是sql查询。因为我在数据库中将数据类型设置为String。因此查询中无法求和。 感谢。

2 个答案:

答案 0 :(得分:0)

您没有提供有关正在使用的dbms的任何信息,但是,根据您的原始查询,我假设您使用的是Microsoft的sqlserver。

所以,你可以写:

从pat.dbo.PHPL组中按日期选择日期,总和(演员(收费为浮动))。 看到这个链接:

http://msdn.microsoft.com/en-us/library/aa226054%28v=sql.80%29

答案 1 :(得分:0)

我更喜欢JoséEsteves-Pereira的转换解决方案,但你可以尝试这个代码:

<%stat=con.createStatement();
rs=stat.executeQuery("select * from pat.dbo.PHPL");
actDate
while(rs.next())
{
  date = rs.getString("Date");
  if (actDate != date)
  {
    actDate = date;
    charges = rs.getString("Charges");
  }
  else
  {
    charges += rs.getString("Charges");
  }
%>
<table>

<tr>
<td><%=actDate %></td>
<td><%=charges%></td>
<%}%>
</tr>
</table>