蚂蚁森林低碳用户排名分析:如何查询连续三天低碳排放超过 100g 的用户?

查询 'user_low_carbon' 表中每日流水记录,条件为:用户在 2017 年,连续三天 (或以上) 的天数里每天减少碳排放 (low_carbon) 都超过 100g 的用户低碳流水。

您可以使用以下 SQL 查询语句来获取满足条件的用户低碳流水记录:

SELECT *
FROM user_low_carbon
WHERE DATE_FORMAT(date, '%Y') = '2017'
  AND user_id IN (
    SELECT user_id
    FROM (
      SELECT user_id, date, low_carbon,
             @rn := IF(@prev_user = user_id, @rn + 1, 1) AS rn,
             @prev_user := user_id
      FROM user_low_carbon, (SELECT @prev_user := NULL, @rn := 0) AS vars
      WHERE DATE_FORMAT(date, '%Y') = '2017'
      ORDER BY user_id, date
    ) AS t
    WHERE rn >= 3 AND low_carbon <= -100
  );

这个查询语句中,首先使用子查询获取在 2017 年内连续三天 (或以上) 每天减少碳排放超过 100g 的用户。然后将这些用户的记录与原始的用户低碳流水表进行关联,从而得到满足条件的用户低碳流水记录。

蚂蚁森林低碳用户排名分析:如何查询连续三天低碳排放超过100g的用户?

原文地址: https://www.cveoy.top/t/topic/qnZN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录