Ho intenzione di sostituire retort con discourse reactions. Per scoprire quali emoji usare, volevo sapere come vengono utilizzate nel mio forum. Dato che non ho trovato una query per questo, condivido la mia:
Conta le emoji aggiunte con il plugin retort
SELECT count(*), REGEXP_MATCHES(key, '([a-z_+]+)|retort') emoji
FROM post_details
WHERE extra = 'retort'
GROUP BY key
ORDER BY 1 DESC
Conta le emoji nei post (senza l’utente di sistema)
SELECT count(*), REGEXP_MATCHES(raw, ' :([a-z_]+): ', 'g') emoji
FROM posts
WHERE user_id > 0
GROUP BY emoji
ORDER BY 1 DESC
4 Mi Piace
Bello.
Non ho mai usato REGEXP_MATCHES, ma li ho appena provati (beh, il secondo. Non ho Retort installato
).
Penso che tu voglia fare GROUP BY emoji invece di smiley. Inoltre, user_id > 1 escluderebbe l’amministratore originale. Potrebbe essere intenzionale, ma ho pensato di menzionarlo. 
Ho anche chiesto a Bert
una spiegazione, nel caso fosse utile ad altri:
Cosa ha detto Bert:
Questa query viene utilizzata per contare il numero di volte in cui ogni emoji viene utilizzata nella tabella posts.
Ecco una ripartizione della query:
SELECT count(*), REGEXP_MATCHES(raw, ' :([a-z_]+): ', 'g') emoji: Questa è la parte principale della query. Conta il numero di righe (count(*)) e utilizza un’espressione regolare (REGEXP_MATCHES) per trovare ed estrarre l’emoji dalla colonna raw. L’espressione regolare ' :([a-z_]+): ' cerca modelli che iniziano e finiscono con due punti (:) e hanno una o più lettere minuscole o underscore in mezzo. Il flag ‘g’ significa che troverà tutte le corrispondenze invece di fermarsi dopo la prima. L’emoji trovata viene quindi rinominata emoji.
FROM posts: Specifica la tabella da cui vengono recuperati i dati, in questo caso la tabella posts.
WHERE user_id > 0: Questa è una condizione che filtra le righe considerate. Sono incluse solo le righe in cui user_id è maggiore di 0.
GROUP BY emoji: Raggruppa i risultati in base all’alias emoji. Ciò significa che per ogni emoji univoca, conterà il numero di righe.
ORDER BY 1 DESC: Ordina i risultati in base alla prima colonna del set di risultati (che è il conteggio) in ordine decrescente. Ciò significa che le emoji utilizzate più frequentemente appariranno per prime.
Quindi, in sintesi, questa query conta il numero di volte in cui ogni emoji viene utilizzata nella tabella posts, per i post in cui user_id è maggiore di 0, e ordina i risultati in modo che le emoji più utilizzate appaiano per prime.
2 Mi Piace
Oh, hai ragione. L’ho cambiato sul mio sito ma me ne sono dimenticato qui. 
Infatti, avrei dovuto menzionarlo nel mio post. user_id 1 è un utente legacy (quando la pubblicazione anonima era ancora consentita sul mio sito) che non volevo includere nel conteggio.
1 Mi Piace