docs: def _CountClientStatisticByLabel(self, statistic, day_buckets, cursor):
      """Returns client-activity metrics for a given statistic.
  
      Args:
        statistic: The name of the statistic, which should also be a column in the
          'clients' table.
        day_buckets: A set of n-day-active buckets.
        cursor: MySQL cursor for executing queries.
      """
      day_buckets = sorted(day_buckets)
      sum_clauses = []
      ping_cast_clauses = []
      timestamp_buckets = []
      now = rdfvalue.RDFDatetime.Now()
  
      for day_bucket in day_buckets:
        column_name = "days_active_{}".format(day_bucket)
        sum_clauses.append(
            "CAST(SUM({0}) AS UNSIGNED) AS {0}".format(column_name))
        ping_cast_clauses.append(
            "CAST(c.last_ping > FROM_UNIXTIME(%s) AS UNSIGNED) AS {}".format(
                column_name))
        timestamp_bucket = now - rdfvalue.Duration.FromDays(day_bucket)
        timestamp_buckets.append(
            mysql_utils.RDFDatetimeToTimestamp(timestamp_bucket))
  
      query = """
      SELECT j.{statistic}, j.label, {sum_clauses}
      FROM (
        SELECT c.{statistic} AS {statistic}, l.label AS label, {ping_cast_clauses}
        FROM clients c
        LEFT JOIN client_labels l USING(client_id)
        WHERE c.last_ping IS NOT NULL AND l.owner_username = 'GRR'
      ) AS j
      GROUP BY j.{statistic}, j.label
      """.format(
          statistic=statistic,
          sum_clauses=", ".join(sum_clauses),
          ping_cast_clauses=", ".join(ping_cast_clauses))
  
      cursor.execute(query, timestamp_buckets)
  
      counts = {}
      for response_row in cursor.fetchall():
        statistic_value, client_label = response_row[:2]
        for i, num_actives in enumerate(response_row[2:]):
          if num_actives <= 0:
            continue
          stats_key = (statistic_value, client_label, day_buckets[i])
          counts[stats_key] = num_actives
      return counts