En az 1 resim içeren yanıtları oylara göre nasıl sıralayabilirim?

Aug 18 2020

Math SE'nin [görselleştirme] etiketini ve açıklaması kolay görsel olarak çarpıcı matematik kavramları gibi yayınları her zaman sevmişimdir . Bazı insanlar en iyi görsel olarak öğrenirler. Matematik Eğitimcileri ve Kimya gibi diğer SE'ler bu etikete sahip değildir, ancak şüphesiz ikisi de görüntüleri kullanır.

  1. Öyleyse, en az bir resim içeren, oylara göre sıralanmış bir cevap listesini nasıl görebilirim?

  2. İkinci bir kritere göre sıralamak mümkün mü: bu yanıttaki metin sayısı? Ardından, en az bir resim içeren hangi gönderilerin en az ve en çok eşlik eden metne sahip olduğunu görebilirim.

Yanıtlar

1 rene Aug 19 2020 at 01:55

İşte başka bir SEDE sorgusu .

Biraz farklı bir yaklaşım benimsiyorum. Html'de arama yapmak yerine (Posts.body alanında bulunan) kaynak olarak gerçek markdown kullanıyorum. Bu daha karmaşıktır (ve daha kötü performans gösterir) çünkü PostHistory tablosu yalnızca en sonuncuyu değil, bir gönderinin tüm revizyonlarını içerir. Bu yüzden son düzeltmeyi bulmak için biraz hokkabazlık yapıyorum. Bu metinde Glorfindel'in kullandığı aynı tekniği kullanıyorum: bir Like ifadesi ama ![ ][ ]indirimi arıyorum . Metnin uzunluğu yerine kaba bir kelime sayısı tahmini ekledim.

SEDE'yi mutlu etmek için bir İLK 1000 yapıyorum.

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

Sonuç şu şekilde görünüyor:

SEDE'nin haftada bir Pazar günleri güncellendiğini unutmayın. Takdire şayan Monica Cellio'nun yazdığı
güzel SEDE Tutorial'ı kullanın . SEDE sohbetinde "Merhaba" deyin .

5 Tinkeringbell Aug 18 2020 at 15:57

Muhtemelen SEDE ile alacağınız en iyi sonuçlar, ikinci kriterinize (yazının uzunluğuna göre sıralama) izin vermesi gerektiğinden.

Ancak ilk kısım için, [visualization] url:"*.jpg*" is:abir görsele sahip görselleştirme etiketinde cevapları bulmak için bir arama kullanabilir , ardından sonuçları oylara göre sıralayabilirsiniz.

Martin'in sorunuzun altındaki yorumlarda söylediği gibi, olabildiğince çok cevap bulmak için imgur, png, jpg ve gif içeren birden çok url aramak isteyebilirsiniz.

5 Glorfindel Aug 18 2020 at 16:19

İşte en az bir resimle tüm cevapları listeleyen bir SEDE sorgusu. Bir cevabın ne kadar metne sahip olduğunu anlamak çok zor (en azından benim için), bu yüzden iyi bir gösterge vermesi gereken cevabın toplam uzunluğuna karar verdim.

SEDE'nin yalnızca haftada bir Pazar sabahı güncellendiğini ve şu anda bazı kullanılabilirlik sorunları olduğunu unutmayın . Ayrıca, Yazılar tablosunun tamamını bu şekilde aramak Matematik gibi daha büyük sitelerde muhtemelen çalışmaz; Kimya ve Matematik Eğitimcileri için çalışıyor. Örneğin aramanızı belirli etiketler, minimum puan veya gönderme tarihiyle sınırlandırmak için sorguyu çatallandırmanız gerekebilir. Genel olarak SEDE veya SQL'de yeniyseniz harika öğreticiye göz atın .