푸른솔님 답변 감사합니다.
그렇다면 max값을 먼저 구하고
logtype 이렇게 두번쿼리를 해야한다는 이야긴지요?
SELECT
LOGDATETIME , LOGTYPE
FROM
TBLLOG
WHERE
LOGDATETIME = ( SELECT MAX(LOGDATETIME) FROM TBLLOG WHERE LOGEMPID = 'user1' )
이런식으로 두번 쿼리 해야 한다는 말씀인지요.
이렇게 해보았더니 되기는 하는데 한방에 쿼리를 실행하는게 아니라
두번 나누어서 한다는게 조금 걸립니다.
혹시 다른 방법이 있는지요.
푸른솔 님이 쓰신 글 :
: SELECT MAX(LOGDATETIME)
: 그렇다면 select문에서 LOGTYPE을 제거하면 되겠죠...
:
: LOGTYPE별로 그루핑을 하면 당연히 아래와 같은 결과가 나옵니다.
: (LOGTYPE이 여러가지라면)
:
:
:
: 델맨 님이 쓰신 글 :
: : 제가 원하는 결과는
: : LOGDATETIME LOGTYPE
: : -------------------------------
: : 2007-02-01 22:11:30 LOGOUT
: : 이렇게 최종 시간 기준으로 레코드 한개만 읽어오기를 원합니다.
: :
: : 그런데 아래의 쿼리로 해보면
: : -------------------------------------
: : SELECT
: : MAX(LOGDATETIME) , LOGTYPE
: : FROM
: : TBLLOG
: : WHERE
: : LOGEMPID = 'user1'
: : GROUP BY
: : LOGTYPE;
: : -------------------------------------
: :
: : LOGDATETIME LOGTYPE
: : -------------------------------
: : 2007-02-01 22:11:30 LOGOUT
: : 2007-02-01 20:10:22 LOGIN
: :
: : 이렇게 2개의 레코드가 나옵니다.
: : GROUP BY를 빼고 하면 에러가 나고 넣으면 LOGTYPE에 입력된 각각의 값중에서
: : 최대값을 가져오는데 저는 최대값을 가진 레코드의 LOGTYPE이 필요합니다.'
: : 고수님들의 조언을 구합니다.
|