1、在mysql环境,创建数据库表。
2、插入测试数据。
3、编写目标sql。mysql中,查询纵向转横向可用casewhen语句。
当业务上按照月份分表,但是前端h5需要分页展示,小伙伴们不知有没有遇到这个这个需求最后怎么完成的。
我这里想了一个解决思路,可能还不完善,希望能抛转引玉。
1、入参pageNo 为页号码,如果为1那么就是第一页。pageSize 可以是入参也可定死,这里定死10条。Limit 是数据偏移标记,根据入参pageNo 计算出来的,Limit=(pageNo-1)*pageSize。假设A表有41条数据符合,B表有51条数据符合,如下图。
有几种种情况 1.如果limit<A表41条 那么需要从A表中取数据,(1)如果Limit+pageSize<Count直接获取数据即可(2)如果Limit+pageSize>Count,那么需要从A 表取部分数据从B表取一部分数据。
1.如果limit>A表41条 那么需要从B表取数据,如果B数据依然不足,那么重复以上的步骤。如下图
select s.num1,t.num2 from(select count(*) num1 from student) s,
(select count(*) num2 from teacher) t
分别用两个子查询查出两个标的记录,即临时表,然后列出来就可以。有问题再留言
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)