240815_TIL

J Lee·2024년 8월 15일
0

아무리 사소하더라도 배움이 없는 날은 없다.

SQL 코드카타

문제 링크
특정 content에서 bull과 bear가 각각 몇번씩 나왔는지 세는 문제.

content like '% bull %'라고 쓰면

  • bull이라는 독립된 단어(앞뒤에 띄어쓰기가 있으므로)가 content에 들어가 있으면 TRUE(1), 아니면 FALSE(0)를 반환하게 된다.
  • 이 때 앞에 sum이 있으므로 모든 content에 대한 TRUE/FALSE 결과를 합산해서 반환하게 된다. group by가 없어도 sum은 잘 동작할 수 있음 주의.

bull과 bear 각각에 대해 똑같은 연산을 해 주고
결과를 union하면 정답.

SELECT 'bull'                       AS "word",
       Sum(content LIKE '% bull %') AS "count"
FROM   files
UNION
SELECT 'bear',
       Sum(content LIKE '% bear %')
FROM   files;
profile
기본기를 소홀히 하지 말자

0개의 댓글

관련 채용 정보