최소 1 장의 사진으로 구성된 답변을 투표별로 정렬하려면 어떻게해야합니까?

Aug 18 2020

저는 항상 Math SE의 [visualization] 태그와 설명하기 쉬운 시각적으로 놀라운 수학 개념 과 같은 게시물을 좋아했습니다 . 어떤 사람들은 시각적으로 가장 잘 배웁니다. 수학 교육자 및 화학과 같은 다른 SE에는이 태그가 없지만 의심 할 여지없이 둘 다 이미지를 사용합니다.

  1. 그렇다면 적어도 하나의 그림을 구성하는 투표 순으로 정렬 된 답변 목록을 어떻게 볼 수 있습니까?

  2. 두 번째 기준으로 정렬 할 수 있습니까? 해당 답변의 텍스트 수? 그런 다음 적어도 하나의 사진이있는 게시물에 텍스트가 가장 적고 가장 많은 것을 볼 수 있습니다.

답변

1 rene Aug 19 2020 at 01:55

다음은 또 다른 SEDE 쿼리 입니다.

나는 약간 다른 접근 방식을 취합니다. html (Posts.body 필드에 있음)에서 검색하는 대신 실제 마크 다운을 소스로 사용합니다. PostHistory 테이블에는 최신 게시물뿐 아니라 게시물의 모든 개정판이 포함되어 있기 때문에 더 복잡하고 성능이 더 떨어집니다. 그래서 저는 마지막 개정판을 찾기 위해 저글링을합니다. 그 텍스트에서 나는 Glorfindel이 사용한 것과 같은 기법 인 Like 문을 사용하지만 ![ ][ ]마크 다운을 찾습니다 . 텍스트 길이 대신 대략적인 단어 수를 추가했습니다.

SEDE를 행복하게 유지하기 위해 저는 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

결과는 다음과 같습니다.

SEDE는 매주 일요일에 업데이트됩니다. 훌륭한 Monica Cellio가 작성한
훌륭한 SEDE Tutorial을 사용하십시오 . SEDE 채팅 에서 "안녕하세요"라고 말하세요 .

5 Tinkeringbell Aug 18 2020 at 15:57

두 번째 기준 (게시물의 길이에 따라 정렬)을 허용해야하기 때문에 SEDE를 사용하면 최상의 결과를 얻을 수 있습니다.

그러나 첫 번째 부분에서는 검색을 사용 [visualization] url:"*.jpg*" is:a하여 이미지가있는 시각화 태그 내에서 답을 찾은 다음 투표별로 결과를 정렬 할 수 있습니다.

Martin이 귀하의 질문에 대한 의견에서 말한 것처럼 가능한 한 많은 답변을 찾으려면 imgur, png, jpg 및 gif를 포함하는 여러 URL을 검색 할 수 있습니다.

5 Glorfindel Aug 18 2020 at 16:19

다음 은 하나 이상의 이미지가있는 모든 답변을 나열하는 SEDE 쿼리입니다. 답변에 얼마나 많은 텍스트가 있는지 알아내는 것이 너무 어렵 기 때문에 (적어도 저에게는) 좋은 표시를 제공 해야하는 답변의 전체 길이를 결정했습니다.

SEDE는 매주 일요일 아침에 한 번만 업데이트되며 현재 일부 가용성 문제가 있습니다. 또한 이와 같이 전체 Posts 테이블을 검색하는 것은 Mathematics와 같은 더 큰 사이트에서는 작동하지 않을 것입니다. 그것은 화학 및 수학 교육자들에게 효과적입니다. 특정 태그, 최소 점수 또는 게시 날짜로 검색을 제한하기 위해 쿼리를 분기해야 할 수도 있습니다. 일반적으로 SEDE 또는 SQL을 처음 사용하는 경우 멋진 튜토리얼을 확인하십시오 .