2020/11/21

一、 写项目后台的经历及经验

第一次写后台的感觉是也挺难的,虽然还是无限的增删改查,但是参数的校验以及逻辑的判断着实让人难受。
合作写项目时,需要先确定需求,以及对不合理的需求进行整改,对返回格式的统一化,以及对于参数校验前后台的一致性,最令人难受的就是参数的校验。

二、自定义自己的参数校验类

对于前台传回的参数,第一步就是要进行参数的校验,一般都不能为空,或者超出自己预定的范围值。这样可以再访问数据库前进行判断进而隔断了不合法的数据,减小数据库的压力,以及数据的合法性。此时就会多出大量的if else代码,使得代码的优雅度下降。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 统计用户总量和用户平均年龄 ``` -- 用户总量 SELECT COUNT(DISTINCT user_id) AS user_count FROM user_fs_view; -- 用户平均年龄 SELECT AVG(age) AS avg_age FROM user_fs_view; ``` 2. 统计每天注册的用户数、用户累计观看时长和用户平均观看时长 ``` -- 每天注册的用户数 SELECT register_time, COUNT(DISTINCT user_id) AS user_count FROM user_fs_view GROUP BY register_time; -- 用户累计观看时长和平均观看时长 SELECT user_id, SUM(view_time) AS total_view_time, AVG(view_time) AS avg_view_time FROM user_fs_view GROUP BY user_id; ``` 3. 统计每个10岁分段的用户总量和平均观看时长 ``` -- 每个10岁分段的用户总量和平均观看时长 SELECT FLOOR(age/10)*10 AS age_range, COUNT(DISTINCT user_id) AS user_count, AVG(view_time) AS avg_view_time FROM user_fs_view GROUP BY age_range; ``` 4. 统计每天观看时长最长的用户userid ``` -- 每天观看时长最长的用户userid SELECT user_id, view_time, ymd FROM user_fs_view WHERE (ymd, view_time) IN ( SELECT ymd, MAX(view_time) AS max_view_time FROM user_fs_view GROUP BY ymd ); ``` 5. 统计用户次日留存情况 ``` -- 用户次日留存情况 SELECT COUNT(DISTINCT user_id) AS retention_count FROM user_fs_view AS a WHERE EXISTS ( SELECT 1 FROM user_fs_view AS b WHERE a.user_id = b.user_id AND DATEDIFF(b.ymd, a.ymd) = 1 ); ``` 6. 统计每天观看时长都大于20min的用户总量 ``` -- 每天观看时长都大于20min的用户总量 SELECT COUNT(DISTINCT user_id) AS user_count FROM user_fs_view WHERE user_id NOT IN ( SELECT user_id FROM user_fs_view WHERE view_time < 20 ); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值