这个页面的功能听起来很简单:查询所有的工作室
麻烦点在于:
一,筛选条件
(1)工作室名称关键词搜索
(2)工作室所在省,市(可选全部)
(3)工作室的医生填写的擅长疾病(工作室有多名医生)
二,排序条件(筛选条件是前提)
(1)推荐的工作室排在前面
(2)患者关注的工作室
(3)和患者同地区的工作室
(4)工作室医生的回复数(多名医生回复数加起来)
三,数据;查出来的列表数据也涵盖多个表,文章数,回复数等
四,分页;由于数量较多,所以还需要做分页。前面的每一个条件单独写还好写,放在一起不知道该怎么写分页了
。。就是一个多表链接分页查询啊,又没有合并统计一类的数据,只有条件过滤和排序,单SQL嵌套分页查询就行了
涉及了很多表的,排序条件4就是要统计的。一个sql搞定,sql太复杂了,所以我想知道在service层有没有什么合适的分页方法。
@花生喂龙: 业务复杂可以选择存储过程来处理,查询到service层也是可以的,不过数据量较大,而且没有sql的优化
菜鸟
请赐教?
一个复杂一点的SQL 3、多个表连接,把多个筛选条件放在该放的表下面,主次表要分清 1、筛选条件,如果条件不为空那么,加入筛选条件 少用子查询 ,2、按照排序条件依次放入条件查询 4、最后分页,使用ROW_NUMBER() 分页 条件里 加入 BETWEEN and 就行。
一个sql搞定,语句会很复杂,sql里面写太多逻辑性的东西不利于维护吧。而且满足排序条件(1)的工作室就不允许在条件(2)里出现了,排序后distinct?
@花生喂龙: 这也没什么逻辑性的呀,只是几个条件加排序而已。 不是很理解如果(1)推荐的工作室排在前面 和(2)患者关注的工作室 ,排序会造成重复 , 要么就是连接出了问题