发表于: 2017-04-16 22:36:37
1 1162
一.今天完成的
1.完善萝卜多复盘项目的方案设计,接口文档说明,更新数据表结构
二.明天计划
1.通过方案设计评审,继续复盘项目
三.今天的收获
1.学习了如何实现sql查询不重复的结果,有两个方法
一个是使用distinct关键字
select distinct 列名from 表名
一个是使用group by对结果集处理
select min(fid),name,sex from 表名group by 列名
2.前台和后台接口是要分开的,虽然名字一样
四.遇到的问题
萝卜多找精英页面有个地方需要展示公司,排序依据是先按职位发布时间排,再按认证排
难点:原来的公司表中没有职位发布时间这个字段,职位发布时间这个字段在职位表里才有,如何实现?
目前想到两种方案
方案一:公司表中添加最新职位发布时间release_at字段,可以直接按照这个字段排序
查询结果发布职位时间+公司认证逆序排列
select id from company order by approved , release_at DESC
方案二:使用子查询
接口GET /a/list/company/search
调用接口 GET /a/list/profession/search
查询结果发布职位时间+公司认证逆序排列
select id from company where id in
(select id from profession group by company id order by release_at DESC)
order by approved DESC
第一种方案简便,但是要在公司表中添加最新职位发布时间字段,会破坏原有的表结构
第二种方案不改动数据表,但是涉及到调用两个接口,同时还要用到子查询,较为复杂
评论