mysql group by导致分页重复数据问题

mysql group by导致分页重复数据问题,第1张

由于group 不用会导致分页有重复数据,需要外面再加一层查询,正确示例:

SELECT a.* FROM (select company_id

,COALESCE(sum(total_amount),0) total_amount

from t_statistics

group by company_id

order by batch_date desc) a

LIMIT 0,20

先看一下分页的基本原理(我拿的是CSDN那个百万级数据库来测试!):SELECT * FROM `csdn` ORDER BY id DESC LIMIT 100000,2000耗时: 0.813ms分析:对上面的mysql语句说明:limit 100000,2000的意思扫描满足条件的102000行

while(i<pageSize&&rs.next()){

%>

<tr>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("username")%></td>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("nichen")%></td>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("email")%></td>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("add_date")%></td>

<td bgcolor="#FFFFFF" align="left"><a href="modify_member_info.jsp?ID=<%=rs.getInt("uid")%>">修改</a><a href="delete.jsp?ID=<%=rs.getInt("uid")%>">删除</a></td>

</tr>

<%

rs.next()

i++

}

--------------------改成-------------------------

while(i<pageSize&&!rs.isAfterLast()){

%>

<tr>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("username")%></td>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("nichen")%></td>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("email")%></td>

<td bgcolor="#FFFFFF" align="left"><%=rs.getString("add_date")%></td>

<td bgcolor="#FFFFFF" align="left"><a href="modify_member_info.jsp?ID=<%=rs.getInt("uid")%>">修改</a><a href="delete.jsp?ID=<%=rs.getInt("uid")%>">删除</a></td>

</tr>

<%

i++

}

看看


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8517098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存