首页 新闻 会员 周边

查询列表页面要根据多个规则排序,怎么处理?

0
悬赏园豆:15 [已解决问题] 解决于 2018-11-22 10:27

这个页面的功能听起来很简单:查询所有的工作室
麻烦点在于:
一,筛选条件
(1)工作室名称关键词搜索
(2)工作室所在省,市(可选全部)
(3)工作室的医生填写的擅长疾病(工作室有多名医生)
二,排序条件(筛选条件是前提)
(1)推荐的工作室排在前面
(2)患者关注的工作室
(3)和患者同地区的工作室
(4)工作室医生的回复数(多名医生回复数加起来)
三,数据;查出来的列表数据也涵盖多个表,文章数,回复数等
四,分页;由于数量较多,所以还需要做分页。前面的每一个条件单独写还好写,放在一起不知道该怎么写分页了

花生喂龙的主页 花生喂龙 | 初学一级 | 园豆:10
提问于:2018-11-19 18:21
< >
分享
最佳答案
0

。。就是一个多表链接分页查询啊,又没有合并统计一类的数据,只有条件过滤和排序,单SQL嵌套分页查询就行了

收获园豆:9
rqx | 菜鸟二级 |园豆:468 | 2018-11-20 15:07

涉及了很多表的,排序条件4就是要统计的。一个sql搞定,sql太复杂了,所以我想知道在service层有没有什么合适的分页方法。

花生喂龙 | 园豆:10 (初学一级) | 2018-11-20 15:18

@花生喂龙: 业务复杂可以选择存储过程来处理,查询到service层也是可以的,不过数据量较大,而且没有sql的优化

rqx | 园豆:468 (菜鸟二级) | 2018-11-20 15:33
其他回答(2)
0

菜鸟

image_erfsfj | 园豆:202 (菜鸟二级) | 2018-11-19 22:03

请赐教?

支持(0) 反对(0) 花生喂龙 | 园豆:10 (初学一级) | 2018-11-20 15:19
0

一个复杂一点的SQL 3、多个表连接,把多个筛选条件放在该放的表下面,主次表要分清 1、筛选条件,如果条件不为空那么,加入筛选条件 少用子查询 ,2、按照排序条件依次放入条件查询 4、最后分页,使用ROW_NUMBER() 分页 条件里 加入 BETWEEN and 就行。

收获园豆:6
归来的小陆 | 园豆:75 (初学一级) | 2018-11-20 11:43

一个sql搞定,语句会很复杂,sql里面写太多逻辑性的东西不利于维护吧。而且满足排序条件(1)的工作室就不允许在条件(2)里出现了,排序后distinct?

支持(0) 反对(0) 花生喂龙 | 园豆:10 (初学一级) | 2018-11-20 15:17

@花生喂龙: 这也没什么逻辑性的呀,只是几个条件加排序而已。 不是很理解如果(1)推荐的工作室排在前面 和(2)患者关注的工作室 ,排序会造成重复 , 要么就是连接出了问题

支持(0) 反对(0) 归来的小陆 | 园豆:75 (初学一级) | 2018-11-20 15:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册