Comment puis-je trier les réponses comprenant au moins 1 image par votes?

Aug 18 2020

J'ai toujours aimé la balise [visualisation] de Math SE et des articles comme Des concepts mathématiques visuellement étonnants qui sont faciles à expliquer . Certaines personnes apprennent mieux visuellement. D'autres SE comme les professeurs de mathématiques et la chimie n'ont pas cette balise, mais ils utilisent sans aucun doute des images.

  1. Alors, comment puis-je voir une liste de réponses, classées par votes, comprenant au moins une image?

  2. Est-il possible de trier selon un deuxième critère: le nombre de texte dans cette réponse? Ensuite, je peux voir quels messages avec au moins une image ont le moins et le plus de texte d'accompagnement.

Réponses

1 rene Aug 19 2020 at 01:55

Voici une autre requête SEDE .

J'adopte une approche légèrement différente. Au lieu de chercher dans le html (qui se trouve dans le champ Posts.body), j'utilise le démarquage réel comme source. C'est plus compliqué (et moins performant) car la table PostHistory contient toutes les révisions d'un article, pas seulement la dernière. Je jongle donc pour trouver la dernière révision. Dans ce texte, j'utilise la même technique que Glorfindel a utilisée: une déclaration Like mais je cherche le ![ ][ ]markdown. Au lieu de la longueur du texte, j'ai ajouté une estimation approximative du nombre de mots.

Pour garder SEDE heureux, je fais un TOP 1000.

select top 1000
       a.id as [Post Link]
     , a.creationdate
     , a.score
     , len(text)-len(replace(text,' ','')) [~ word count]
from posts a
inner join posts q on q.id = a.parentid
inner join (
select postid, 
       text
from posthistory phi
where id = (select max(id) 
            from posthistory ph
            where ph.postid = phi.postid
            and ph.posthistorytypeid in (2,5,8))
) md on md.postid = a.id
where a.posttypeid = 2 -- answers
and (
  md.text like '%![[]%][[]%]%' 
  --or 
  --md.text like '%![%](%)%' or 
  --md.text like '%<img src="%"%'
  )
order by 4 desc

Voici à quoi ressemble le résultat:

Gardez à l'esprit que SEDE est mis à jour une fois par semaine le dimanche.
Utilisez le très beau tutoriel SEDE écrit par l'admirable Monica Cellio .
Dites «Bonjour» dans le chat SEDE .

5 Tinkeringbell Aug 18 2020 at 15:57

Les meilleurs résultats que vous obtiendrez probablement avec SEDE, car il devrait tenir compte de votre deuxième critère (tri par longueur du message).

Mais pour la première partie, vous pouvez utiliser une recherche: [visualization] url:"*.jpg*" is:apour trouver des réponses dans la balise de visualisation qui ont une image, puis trier les résultats par votes.

Comme Martin l'a dit dans les commentaires sous votre question, pour trouver autant de réponses que possible, vous voudrez peut-être rechercher plusieurs URL, contenant imgur, png, jpg et gif.

5 Glorfindel Aug 18 2020 at 16:19

Voici une requête SEDE listant toutes les réponses avec au moins une image. Déterminer la quantité de texte d'une réponse est trop difficile (du moins pour moi) alors je me suis contenté de la longueur totale de la réponse qui devrait donner une bonne indication.

Notez que SEDE n'est mis à jour qu'une fois par semaine, le dimanche matin, et présente actuellement des problèmes de disponibilité . De plus, une recherche dans le tableau complet des publications comme celle-ci ne fonctionne probablement pas sur des sites plus grands comme Mathematics; cela fonctionne pour les éducateurs en chimie et en mathématiques. Vous devrez peut-être fourcher la requête, par exemple pour limiter votre recherche à certaines balises, au score minimum ou à la date de publication. Consultez le didacticiel génial si vous êtes nouveau dans SEDE ou SQL en général.