프로그래머스 LV 1. 59405 상위 n개 레코드 MySQL

https://school.programmers.co.kr/learn/courses/30/lessons/59405

 

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 0,1

 

이때에 LIMIT 1 ; 

이라고 해도 되는데, LIMIT 0, 1 형태러럼 인수를 두개 사용하는 형태로 작성할 수 있기에 그렇게 해보았다. 

이때에 앞의 숫자 0이 놓인 곳의 의미는, 몇개의 인자들을 넘어서 기본 위치를 잡을것인가, 즉 오프셋을 얼마로 잡을것인가 인데, 이 값을 0으로 잡으면 아무것도 건너뛰지 않겠다는 의미이고, 그리고 뒤에 있는 숫자는 몇개를 선택하겠느냐 이고, 이때에 1 이라고 했으니까 아무것도 건너뛰지 않고 1개를 선택하겠다는 의미로 이렇게 작성하였다. 

 

만약 LIMIT 2,2 라고 한다면, 2개를 건너뛰고(그래서 세번째 부터 출력할것이다) 2개를 가져오겠다, 라는 의미이기 때문에

3, 4 번째를 얻게 될 것이다. 

 

위의 설명은 주로 MySQL을 사용할때 1-INDEXED 를 자주 보게 되어서 위와 같이 설명했는데, 어쩌면 위의 개념은 0-INDEXED의 개념으로 0번째부터 시작한다 일지도 모르겠다. 

결과적으로 어떤 값들을 가져오는지를 제대로 파악하도록 하자. 

가장 위의 것을 가져올때는 LIMIT 1으로 간결하게 표현할 수 있다. 

 

  Comments,     Trackbacks