Uso de emojis

Legal. :slight_smile: Eu nunca usei REGEXP_MATCHES antes, mas acabei de testá-los (bem, o segundo. Não tenho o Retort instalado :slight_smile:).

Acho que você quer GROUP BY emoji em vez de smiley. Além disso, user_id > 1 excluiria o administrador original. Isso pode ser intencional, mas pensei em mencionar. :+1:

Também pedi ao Bert :robot: uma explicação, caso mais alguém ache útil:

O que Bert disse:

Esta consulta é usada para contar o número de vezes que cada emoji é usado na tabela posts.

Aqui está um detalhamento da consulta:

  • SELECT count(*), REGEXP_MATCHES(raw, ' :([a-z_]+): ', 'g') emoji: Esta é a parte principal da consulta. Ela está contando o número de linhas (count(*)) e usando uma expressão regular (REGEXP_MATCHES) para encontrar e extrair o emoji da coluna raw. A expressão regular ' :([a-z_]+): ' procura por padrões que começam e terminam com dois pontos (:) e têm uma ou mais letras minúsculas ou sublinhados entre eles. O sinalizador ‘g’ significa que ele corresponderá globalmente, ou seja, encontrará todas as correspondências em vez de parar após a primeira correspondência. O emoji correspondente é então apelidado de emoji.
  • FROM posts: Isso especifica a tabela da qual os dados estão sendo recuperados, neste caso, a tabela posts.
  • WHERE user_id > 0: Esta é uma condição que filtra as linhas que estão sendo consideradas. Apenas linhas onde o user_id é maior que 0 são incluídas.
  • GROUP BY emoji: Isso agrupa os resultados pelo alias emoji. Isso significa que para cada emoji único, ele contará o número de linhas.
  • ORDER BY 1 DESC: Isso ordena os resultados pela primeira coluna no conjunto de resultados (que é a contagem) em ordem decrescente. Isso significa que os emojis usados com mais frequência aparecerão primeiro.

Portanto, em resumo, esta consulta está contando o número de vezes que cada emoji é usado na tabela posts, para posts onde o user_id é maior que 0, e ordenando os resultados para que os emojis mais usados apareçam primeiro.