emoji的使用

很好。 :slight_smile: 我以前从未使用过 REGEXP_MATCHES,但我刚刚试用了它们(嗯,第二个。我没有安装 Retort :slight_smile:)。

我认为您应该按 emoji 而不是 smiley 进行 GROUP BY。另外 user_id > 1 会排除原始管理员。这可能是故意的,但我想提一下。 :+1:

我还问了 Bert :robot: 寻求解释,以防其他人觉得有用:

Bert 的说法:

此查询用于计算 posts 表中每个表情符号的使用次数。

以下是查询的细分:

  • SELECT count(*), REGEXP_MATCHES(raw, ' :([a-z_]+): ', 'g') emoji: 这是查询的主要部分。它正在计算行数 (count(*)) 并使用正则表达式 (REGEXP_MATCHES) 来匹配和提取 raw 列中的表情符号。正则表达式 ' :([a-z_]+): ' 正在查找以冒号 (:) 开头和结尾,并且中间有一个或多个小写字母或下划线的模式。 ‘g’ 标志表示它将全局匹配,即查找所有匹配项,而不是在找到第一个匹配项后停止。匹配的表情符号随后被别名为 emoji。
  • FROM posts: 这指定了从中检索数据的表,在本例中是 posts 表。
  • WHERE user_id > 0: 这是一个过滤正在考虑的行的条件。仅包括 user_id 大于 0 的行。
  • GROUP BY emoji: 这将结果按 emoji 别名进行分组。这意味着对于每个唯一的表情符号,它将计算行数。
  • ORDER BY 1 DESC: 这将结果按结果集中的第一列(即计数)以降序排序。这意味着使用最频繁的表情符号将首先出现。

因此,总而言之,此查询计算 posts 表中每个表情符号的使用次数,针对 user_id 大于 0 的帖子,并按结果排序,以便最常用的表情符号首先出现。