Me gustaría saber qué publicaciones en mi foro han recibido más “me gusta” desde que empezamos a usar Discourse (hace casi 4 años).
Busqué aquí y encontré esto, que parece ser la misma pregunta, pero el tema está cerrado, así que no puedo añadir nada:
Las soluciones dadas en ese otro tema por @dax en realidad no dan lo que yo (o ese otro solicitante) buscamos:
discourse.example.com/?order=likes (likes da en todos los temas)
o discourse.example.com/search escribe in:likes y ordena los resultados por “más me gusta”
El primero no funciona en absoluto (y simplemente vuelve a la página de inicio de mi foro).
El segundo solo devuelve resultados de las publicaciones más “me gusta” que yo mismo he marcado. Ver aquí:
Cuando escribo in:likes en el campo de búsqueda, automáticamente marca la casilla “Yo he marcado”. Si luego desmarco esa casilla, el texto in:likes en el campo de búsqueda se borra junto con ella. No puedo tener in:likes en el campo de búsqueda y una casilla “Yo he marcado” desmarcada.
Entonces, eso no me da lo que quiero saber. ¿Hay alguna manera de conseguirlo?
Acabo de crear esta consulta de Explorador de datos con la ayuda de Gemini. Devuelve las 10 publicaciones con más “me gusta”, de todos los tiempos.
-- Consulta las 10 publicaciones con más "me gusta" de todos los tiempos (para versiones modernas de Discourse)
SELECT
p.id AS post_id,
p.like_count,
CONCAT('/t/', t.slug, '/', t.id, '/', p.post_number) AS url,
t.title AS topic_title,
p.user_id,
u.username
FROM posts AS p
JOIN topics AS t ON t.id = p.topic_id
JOIN users AS u ON u.id = p.user_id
WHERE p.deleted_at IS NULL
AND t.deleted_at IS NULL
AND p.post_type = 1 -- 1 para publicaciones normales
ORDER BY p.like_count DESC
LIMIT 10