权重排序

2019-11-25  本文已影响0人  yanmingfei

根据指定规则书写权重。

例如:根据查出表后,再从表中,取出当前时间到前30天的数据,以某个字段进行降序排序。然后,从剩下的数据中,有后台权重和权重规则。后台权重和权重规则是分离的。有后台权重,那么会高于权重规则。

说一下,这是工作是遇到的一些问题。

一般来说要将这么多数据资料去理解透彻。并且保证不出错,估计是不可能的。那么建议书写一个简单的表,然后去进行实操,有这个demo那么就会很简单。

指定前30天数据

这个也是mysql的一个方法。不过有些怪异。不用担心 会利用即可。

  WHERE DATEDIFF(日期字段,NOW() ) <=0 AND DATEDIFF(日期字段,NOW())>=-30

-30就是往前查30天。也就是指定前30天。注意前面的负号

排序

这里要说明权重规则一般都是一个分数。我们利用比例相加或者相乘就可以得到。

ORDER BY 权重 DESC, 权重规则 DESC;

创建临时表

DROP TABLE IF EXISTS `tmp_abc`;
  CREATE TEMPORARY TABLE `tmp_abc` AS 
  SELECT 字段 FROM 表 WHERE 条件;

就是将内部从表中查出的字段作为临时表。

合并表数据 UNION

这里都是从同一张表中查的,后面的权重和权重规则查出来的,是整个表的所有数据,那么和前30天查出来的数据,会有重复的内容。解决办法是合并这两个临时表。

上一篇 下一篇

猜你喜欢

热点阅读