أخطط لاستبدال retort بـ discourse reactions. لمعرفة الرموز التعبيرية التي سيتم استخدامها، أردت معرفة كيفية استخدامها في منتدى الخاص بي. نظرًا لعدم تمكني من العثور على استعلام لهذا الغرض، أشارك استعلامي:
عد الرموز التعبيرية المضافة باستخدام إضافة retort
SELECT count(*), REGEXP_MATCHES(key, '([a-z_+]+)|retort') emoji
FROM post_details
WHERE extra = 'retort'
GROUP BY key
ORDER BY 1 DESC
عد الرموز التعبيرية في المشاركات (بدون المستخدم النظامي)
SELECT count(*), REGEXP_MATCHES(raw, ' :([a-z_]+): ', 'g') emoji
FROM posts
WHERE user_id > 0
GROUP BY emoji
ORDER BY 1 DESC
4 إعجابات
لطيف.
لم أستخدم REGEXP_MATCHES من قبل، لكنني اختبرت هذه للتو (حسنًا، الثانية. ليس لدي Retort مثبتًا
).
أعتقد أنك تريد GROUP BY emoji بدلاً من smiley. أيضًا، user_id > 1 سيستبعد المسؤول الأصلي. قد يكون هذا مقصودًا، لكنني أردت فقط ذكره. 
لقد سألت Bert
أيضًا عن شرح إذا وجد أي شخص آخر ذلك مفيدًا:
ما قاله 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، وترتيب النتائج بحيث تظهر الرموز التعبيرية الأكثر استخدامًا أولاً.
إعجابَين (2)
أوه، أنت على حق. لقد قمت بتغييره على موقعي ولكني نسيت هنا. 
بالفعل، كان ينبغي أن أذكر ذلك في منشوري. user_id 1 هو مستخدم قديم (عندما كان النشر المجهول لا يزال مسموحًا به على موقعي) والذي لم أكن أرغب في تضمينه في العد.
إعجاب واحد (1)