[The Latest Login in 2020] datetime 계산 관련
select user_id, max(time_stamp) as last_stamp
from Logins
where year(time_stamp) = 2020
group by user_iddate type인 time_stamp 컬럼을 2020년만 필터링 하기 위해서 year() 함수를 사용했습니다.
[ 궁금한 사항 ]
이렇게 접근해도 올바른 풀이가 맞을까요?
Answer 1
0
종훈님 안녕하세요:)
네~ 코딩테스트 문제로 나와도 통과가 될 올바른 풀이입니다. 다만, RDBMS에서 권장하는 방식은 아닌데요.
보통 검색 조건(=where조건)에 함수(예: year)를 씌우면 속도가 느려져서 권장하지 않습니다.
time_stamp의 인덱스를 활용하지 못하고, full scan으로 검색하기 때문입니다.
혹시 위 내용이 이해가 안갔더라도, 걱정하지 마시고 편하게 읽고 넘어가셔도 됩니다.
코딩 테스트에서는 종훈님께서 작성하신 쿼리를 써도 문제 없습니다!
종훈님의 쿼리도 해당 SQL 파일에 업데이트 하였습니다.
질문 감사합니다. :)
(참고) https://www.percona.com/blog/mysql-8-0-functional-indexes/


실습용 테이블, 데이터 생성 파일 있을까요?
1
9
2
extract 함수 관련 질문
1
11
2
백업파일이 안보입니다.
0
15
1
최신버젼 다운로드
0
24
2
coders 사이트 로그인이 안돼요
0
25
2
노션 접근권
0
20
1
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
19
1
5-B
0
32
2
IN 사용방법 문의
0
17
1
2강에 파일 어디있을까여,,
0
25
2
문제 링크 변경
0
65
2
SQL 파일 다운로드
0
71
2
workbench 테이블 생성
0
280
2
sql 코딩 테스트에서 index 생성 가능 여부
1
288
2
cross join, full join강의 / leetcode 1280번 문제 질문드립니다
1
306
1
not In강의 / leetcode 1978 질문 드립니다
2
207
1
LEETCODE - Sales Analysis 3 코드 질문드립니다.
1
284
1
[Average Selling Price] 문제 테스트케이스 실패
1
285
3
서브쿼리 질문
1
353
1
EASY INNER JOIN 관련 average-selling-price 연습문제
1
286
1
INNER JOIN 강의 질문
1
334
2
문제 주소 링크
1
304
2
work bench 설치관련 문의
1
285
2
깃헙 데스크탑, MYSQL 워크벤치 연동
2
868
3

