1일 1코테 day 5 _ 수박수박수박수박수박수?

konut ko·2022년 8월 8일
1

문제

내 풀이

역시나 이번에도 for문을 ㅋㅋㅋㅋㅋ
매서드 함수를 모르면 for문을 못벗어날 것 같다.

넘의 풀이 1

웃긴 코드를 보았다.

.substring이라는 함수가 있구나
.substring(0,n)을 쓰면 0번째부터 n번째 전까지 글자를 잘라주나보다.

넘의 풀이2

천재적인 발상!

허락받고 링크 퍼왔다.

https://velog.io/@rhshfo8282/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4JAVASCRIPT-3%EC%9D%BC%EC%B0%A8

SQL 코테

WHERE NOT : **이 아닌것 중에서

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE NOT INTAKE_CONDITION = "Aged"
ORDER BY ANIMAL_ID;

INTAKE_CONDITION이 Aged가 아닌 자료를 모두 조회할 때에는
WHERE NOT 이라고 쓰면 된다는 것을 알았다!

min 값 조회

SELECT NAME FROM ANIMAL_INS
WHERE CDATETIME = (SELECT min(DATETIME) FROM ANIMAL_INS);

MAX 도 동일하게 쓰면 되고 아래처럼 생략해서 쓸수없다.

WHERE CDATETIME = min(DATETIME) ;

... count(DISTINCT NAME) ...

DISTINCT를 저렇게 넣어서 NAME 컬럼의 중복값을 제거한다.
count 가 알아서 NULL 값은 안센다.

GROUP BY 와 ORDER BY 를 강요하는 문제


저 둘을 안써도 Cat이 나오는데 저 둘을 써야 답이 됨.

  • 처음에 테이블이 이전과 동일 한 줄 알고 컬럼 자리에 로우를 써서 에러가 계속 났다. 컬럼자리에는 컬럼만 쓰자..

  • count 로 두 종류 이상의 로우를 샐 때에는 어떤 컬럼 기준으로 그룹지어 count 해야할지 써줘야 한다. 그 역할을 하는 것이 바로 GROUP BY 이다.

  • ORDER BY를 써주면 문자의 경우 알파뱃순으로 정렬해준다. Dog 보다 Cat이 알파뱃 상 먼저이기 때문에 Cat이 먼저 나오게 하라는 조건은 ORDER BY 로 정렬하라는 걸 돌려 말한 것이었던 것이었다...

count와 GROUP BY와 WHERE 조건문

이거는 이번 DB 미니 프로젝트때 내 쿼리문 내내 등장한건데
WHERE 조건과 같이 쓰려니 헷갈렸다.

HOUR() 시간추출함수

SELECT HOUR(DATETIME), COUNT(DATETIME) FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) < 20 
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME);

HOUR(2020-12-12 21:35:59)를 21로 추출해줌

profile
보초딩코라 틀린 내용 있을 수도 있습니다. 댓글 지적 환영

0개의 댓글