database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29969 게시물 읽기
No. 29969
MAX값에 해당하는 NO값 가져오기
작성자
이수진(riggs)
작성일
2011-04-19 20:10ⓒ
2011-04-19 20:11ⓜ
조회수
9,696

안녕하세요.

테이블은

no (자동증가) member_no(회원번호) score(점수) data(내용)
1 1 500 123
2 2 600 456
3 1 500 789
4 1 700 991
5 2 600 981
6 2 800 991

이렇게 생겼습니다.

SELECT no, MAX(score) AS mc FROM 테이블
GROUP BY member_no

로 해서 회원으로 그룹을 잡고 회원당 최고점을 가져오고 싶습니다.

저렇게 해보니 no값을 다른 것을 반환하여 data값이 올바르지 않습니다.

회원 1의 경우 no 4 score 700 data 991이 나와야 할텐데요.

그룹을 잡아서 그럴까요?

어떻게 해야 올바른(no)값을 가져올 수,  데이터를 볼 수 있을까요?

 

이 글에 대한 댓글이 총 2건 있습니다.

CREATE TABLE tableX (
NO INT AUTO_INCREMENT PRIMARY KEY
, member_no INT
, score INT
, val INT) ;


SELECT * FROM tableX;

INSERT INTO tableX (member_no, score, val) VALUES ( 1, 500, 123)
    , ( 2, 600, 456)
    , (1, 500, 789)
    , (1, 700, 991)
    , (2, 600, 981)
    , (2, 800, 991) ;


SELECT a.*
FROM tableX a
INNER JOIN (
SELECT member_no, MAX(NO) AS NO FROM tableX GROUP BY member_no ) b
ON a.member_no = b.member_no
AND a.no = b.no
 

.님이 2011-04-20 10:42에 작성한 댓글입니다. Edit

INNER JOIN 이 가능하군요 이런~ ㅜ.ㅜ

약간 변형하였지만, 참고하여 잘 해결하였습니다.

감사드립니다.

이수진(riggs)님이 2011-04-20 13:19에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29972oracle to mysql migration 관련 문의. [2]
장성환
2011-04-21
8652
29971테이블 만드는데 에러가 발생하는 데 조언 부탁합니다 [2]
임현태
2011-04-20
11240
29970코드 검색 필드의 값 문자열 나누기 [1]
개발자
2011-04-20
8672
29969MAX값에 해당하는 NO값 가져오기 [2]
이수진
2011-04-19
9696
29968리플리케이션 구성시 마스터 자동전환 프로시저 문의 [1]
조영곤
2011-04-18
8674
29967left Outer Join 에 대한 질문 입니다. [2]
강삼수
2011-04-14
8121
29966테이블 조인 해서 검색 [1]
마이초보
2011-04-14
8091
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다