Verwendung von Emojis

Schön. :slight_smile: Ich habe REGEXP_MATCHES noch nie zuvor verwendet, aber ich habe gerade die beiden getestet (naja, die zweite. Ich habe Retort nicht installiert :slight_smile:).

Ich denke, Sie möchten nach emoji gruppieren und nicht nach smiley. Außerdem würde user_id > 1 den ursprünglichen Administrator ausschließen. Das ist vielleicht beabsichtigt, aber ich wollte es nur erwähnen. :+1:

Ich habe auch Bert :robot: um eine Erklärung gebeten, falls es für andere nützlich ist:

Was Bert gesagt hat:

Diese Abfrage wird verwendet, um zu zählen, wie oft jedes Emoji in der Tabelle posts verwendet wird.

Hier ist eine Aufschlüsselung der Abfrage:

  • SELECT count(*), REGEXP_MATCHES(raw, ' :([a-z_]+): ', 'g') emoji: Dies ist der Hauptteil der Abfrage. Sie zählt die Anzahl der Zeilen (count(*)) und verwendet einen regulären Ausdruck (REGEXP_MATCHES), um das Emoji aus der Spalte raw abzugleichen und zu extrahieren. Der reguläre Ausdruck ' :([a-z_]+): ' sucht nach Mustern, die mit einem Doppelpunkt (:) beginnen und enden und dazwischen ein oder mehrere Kleinbuchstaben oder Unterstriche haben. Das Flag ‘g’ bedeutet, dass es global abgeglichen wird, d. h. alle Übereinstimmungen gefunden werden, anstatt nach der ersten Übereinstimmung aufzuhören. Das abgeglichene Emoji wird dann als emoji bezeichnet.
  • FROM posts: Dies gibt die Tabelle an, aus der die Daten abgerufen werden, in diesem Fall die Tabelle posts.
  • WHERE user_id > 0: Dies ist eine Bedingung, die die berücksichtigten Zeilen filtert. Nur Zeilen, bei denen die user_id größer als 0 ist, werden einbezogen.
  • GROUP BY emoji: Dies gruppiert die Ergebnisse nach dem Alias emoji. Das bedeutet, dass für jedes eindeutige Emoji die Anzahl der Zeilen gezählt wird.
  • ORDER BY 1 DESC: Dies sortiert die Ergebnisse nach der ersten Spalte im Ergebnissatz (der Anzahl) in absteigender Reihenfolge. Das bedeutet, dass die am häufigsten verwendeten Emojis zuerst erscheinen.

Zusammenfassend lässt sich sagen, dass diese Abfrage zählt, wie oft jedes Emoji in der Tabelle posts für Beiträge verwendet wird, bei denen die user_id größer als 0 ist, und die Ergebnisse so sortiert, dass die am häufigsten verwendeten Emojis zuerst erscheinen.